Basisbeginselen van de externe API

Flash Player 9 of hoger, Adobe AIR 1.0 of hoger

Hoewel een SWF-bestand in sommige gevallen apart kan worden uitgevoerd (bijvoorbeeld, als u Adobe® Flash® Professional gebruikt om een SWF-projector te maken), wordt een SWF-toepassing meestal uitgevoerd als een element binnen een andere toepassing. Normaal gesproken is de container die het SWF-bestand bevat, een HTML-bestand; wat minder vaak wordt een SWF-bestand gebruikt voor de complete of een deel van de gebruikersinterface van een bureaubladtoepassing.

Wanneer u werkt met meer geavanceerde toepassingen, kan het nodig zijn communicatie tussen het SWF-bestand en de containertoepassing tot stand te brengen. Het is bijvoorbeeld gebruikelijk dat een webpagina tekst of andere informatie in HTML weergeeft en een SWF-bestand bevat om dynamische visuele inhoud, zoals diagrammen of videobeelden, weer te geven. In dat geval wilt u bijvoorbeeld dat een SWF-bestand wordt gewijzigd, wanneer de gebruiker op een knop in de webpagina klikt. ActionScript bevat een externe API, een mechanisme dat deze vorm van communicatie tussen ActionScript in een SWF-bestand en een andere code in de containertoepassing mogelijk maakt.

Belangrijke concepten en termen

De volgende referentielijst bevat belangrijke termen met betrekking tot deze functie:

Containertoepassing
De toepassing van waaruit Flash Player een SWF-bestand uitvoert, zoals een webbrowser en HTML-pagina met Flash Player-inhoud of een AIR-toepassing die het SWF-bestand in een webpagina laadt.

Projector
Een uitvoerbaar bestand dat SWF-inhoud en een ingesloten versie van Flash Player bevat. U kunt een projectorbestand maken met Flash Professional of met de zelfstandige Flash Player. Projectors worden normaal gesproken gebruikt voor het distribueren van SWF-bestanden via cd-rom’s, of in vergelijkbare situaties waarbij de downloadgrootte geen bezwaar is en de auteur van het SWF-bestand er zeker van wil zijn dat de gebruiker het SWF-bestand kan uitvoeren, ongeacht of de Flash Player op de computer van de gebruiker is geïnstalleerd.

Proxy
Een tussenliggende toepassing of code die een code binnen een toepassing (de externe toepassing) aanroept voor een andere toepassing (de aanroepende toepassing) en waarden retourneert aan de aanroepende toepassing. Een proxy kan om verschillende redenen worden gebruikt, bijvoorbeeld:
  • Om het proces waarbij externe functieaanroepen worden uitgevoerd te vereenvoudigen, door native functieaanroepen in de aanroepende toepassing om te zetten in de indeling die door de externe toepassing wordt begrepen..

  • Voor het omzeilen van beveiligingsrestricties en andere beperkingen, die ervoor zorgen dat de aanroeper niet rechtstreeks kan communiceren met de externe toepassing.

Serialiseren
Het omzetten van objecten of gegevenswaarden in een indeling die gebruikt kan worden om waarden in berichten uit te wisselen tussen twee programmeersystemen, bijvoorbeeld via internet of tussen twee verschillende toepassingen die op één computer worden uitgevoerd.

Werken met voorbeelden

Veel van de voorziene codevoorbeelden zijn kleine lijsten codes voor demonstratiedoeleinden en geen volledig werkende voorbeelden of code die waarden controleert. Omdat het gebruik van een externe API (per definitie) het schrijven van een ActionScript-code en een code in een containertoepassing vereist, moet u bij het testen van een voorbeeld een container maken (bijvoorbeeld een internetpagina met een SWF-bestand) en de codelijsten gebruiken om met de container te communiceren.

U kunt als volgt een voorbeeld van communicatie tussen JavaScript en ActionScript testen:

  1. Maak een nieuw document met Flash Professional en sla het op uw computer op.

  2. Kies vanuit het hoofdmenu Bestand > Publicatie-instellingen.

  3. Controleer in het tabblad Indelingen in het dialoogvenster Publicatie-instellingen, of de selectievakjes Flash en HTML zijn ingeschakeld.

  4. Klik op de knop Publiceren. Hierdoor worden in dezelfde map een SWF- en een HTML-bestand gemaakt met de naam waaronder u het document hebt opgeslagen. Klik op OK om het dialoogvenster Publicatie-instellingen te sluiten.

  5. Schakel het selectievakje HTML uit. Nadat de HTML-pagina is gemaakt, wijzigt u deze door hieraan de juiste JavaScript-code toe te voegen. Wanneer u het selectievakje HTML uitschakelt, zorgt u dat Flash, nadat u de HTML-pagina hebt gewijzigd, uw wijzigingen bij publicatie van het SWF-bestand niet overschrijft met een nieuwe HTML-pagina.

  6. Klik op OK om het dialoogvenster Publicatie-instellingen te sluiten.

  7. Open met een HTML- of tekstbewerkingstoepassing het HTML-bestand dat met Flash is gemaakt wanneer u het SWF-bestand publiceert. Voeg in de HTML-broncode begin- en eind script tags toe en kopieer hierin de JavaScript-code uit de voorbeeldcode:

    <script> 
    // add the sample JavaScript code here 
    </script>
  8. Sla het HTML-bestand op en ga terug naar Flash.

  9. Selecteer het hoofdframe in Frame 1 van de tijdlijn en open het deelvenster Handelingen.

  10. Kopieer het ActionScript-codevoorbeeld in het Script-veld.

  11. Kies vanuit het hoofdmenu Bestand > Publiceren, om het SWF-bestand bij te werken met de wijzigingen.

  12. Open met een webbrowser de HTML-pagina die u bewerkt hebt, om de pagina- en testcommunicatie tussen ActionScript en de HTML-pagina weer te geven.

U kunt als volgt een voorbeeld van communicatie tussen ActionScript en een ActiveX-container testen:

  1. Maak een nieuw document met Flash Professional en sla het op uw computer op. Mogelijk wilt u dit opslaan in de map waarin uw containertoepassing verwacht dat het SWF-bestand zich bevindt.

  2. Kies vanuit het hoofdmenu Bestand > Publicatie-instellingen.

  3. Controleer in het tabblad Indelingen in het dialoogvenster Publicatie-instellingen, of het selectievakje Flash is ingeschakeld.

  4. Klik in het veld Bestand naast het selectievakje Flash op het mappictogram om de map te selecteren waarin u het SWF-bestand wilt publiceren. Door de locatie van uw SWF-bestand in te stellen, kunt u (bijvoorbeeld) het document in een map bewaren, maar plaatst u het gepubliceerde SWF-bestand in een andere map, zoals de map met de broncode voor de containertoepassing.

  5. Selecteer het hoofdframe in Frame 1 van de tijdlijn en open het deelvenster Handelingen.

  6. Kopieer de ActionScript-code voor het voorbeeld in het Script-veld.

  7. Kies vanuit het hoofdmenu Bestand > Publiceren om het SWF-bestand opnieuw te publiceren.

  8. Maak uw containertoepassing en voer deze uit om de communicatie tussen ActionScript en de containertoepassing te testen.

Raadpleeg het volgende onderwerp voor volledige voorbeelden van het gebruik van de externe API om te communiceren met een HTML-pagina: Deze voorbeelden bevatten de volledige code, waaronder ActionScript en de foutcontrolecode voor de container, die u moet gebruiken wanneer u code schrijft met de externe API. Zie het voorbeeld voor de klasse ExternalInterface in de ActionScript 3.0 Reference voor een ander volledig voorbeeld van het gebruik van de externe API.