Grundlagen der Verwendung der externen API

Flash Player 9 und höher, Adobe AIR 1.0 und höher

Obwohl SWF-Dateien in einigen Fällen eigenständig ausgeführt werden können (wenn Sie beispielsweise mit Adobe® Flash® Professional eine SWF-Projektoranwendung erstellen), werden SWF-Anwendungen in der Mehrzahl der Fälle als Elemente innerhalb anderer Anwendungen ausgeführt. In der Regel befindet sich die SWF-Datei in einem HTML-Datei-Container. Etwas weniger häufig werden SWF-Dateien für die gesamte oder für Teile der Benutzeroberfläche von Desktopanwendungen eingesetzt.

Beim Entwickeln fortgeschrittener Anwendungen ist es unter Umständen erforderlich, einen Datenaustausch zwischen der SWF-Datei und der Containeranwendung einzurichten. Es ist beispielsweise üblich, dass Text und andere Informationen auf einer Webseite als HTML angezeigt werden und dass für dynamische grafische Inhalte wie Diagramme oder Videos eine SWF-Datei eingefügt wird. In diesen Fällen ist es unter Umständen wünschenswert, dass eine Änderung in der SWF-Datei erfolgt, wenn der Benutzer auf eine Schaltfläche der Webseite klickt. ActionScript enthält einen Mechanismus (als „externe API“ bezeichnet), der diese Art der Kommunikation zwischen ActionScript in einer SWF-Datei und anderem Code in der Containeranwendung ermöglicht.

Wichtige Konzepte und Begriffe

In der folgenden Referenzliste sind wichtige Begriffe aufgeführt, die mit dieser Funktion zu tun haben:

Containeranwendung
Die Anwendung, in der Flash Player eine SWF-Datei ausführt, zum Beispiel ein Webbrowser und eine HTML-Seite mit Flash Player-Inhalt, oder eine AIR-Anwendung, die die SWF-Datei auf einer Webseite lädt.

Projektor
Eine ausführbare Datei, die SWF-Inhalt sowie eine eingebettete Flash Player-Version enthält. Sie können einen Projektor mithilfe von Flash Professional oder des eigenständigen Flash Player erstellen. Sie werden im Allgemeinen eingesetzt, um SWF-Dateien auf CD-ROM bereitzustellen oder wenn die Downloadgröße keine Rolle spielt und der Autor der SWF-Datei sicherstellen möchte, dass diese auf jeden Fall ausgeführt werden kann, selbst wenn Flash Player auf dem Computer des Benutzers nicht installiert ist.

Proxy
Eine Vermittlungsanwendung oder entsprechender Code, die Code in einer Anwendung (die „externe Anwendung“) für eine andere Anwendung (die „aufrufende Anwendung“) aufrufen und der aufrufenden Anwendung Werte zurückgeben. Ein Proxy kann aus unterschiedlichen Gründen verwendet werden, u. a.:
  • Zum Vereinfachen des Aufrufens der externen Funktionen durch Konvertieren der entsprechenden Funktionsaufrufe der aufrufenden Anwendung in das von der externen Anwendung verwendete Format.

  • Zum Umgehen von Sicherheits- und anderen Beschränkungen, die verhindern, dass die aufrufende Anwendung direkt mit der externen Anwendung kommuniziert.

Serialisieren
Konvertieren von Objekten oder Datenwerten in ein Format, in dem die Werte in Nachrichten zwischen zwei Programmiersystemen übergeben werden können, beispielsweise über das Internet oder zwischen zwei unterschiedlichen Anwendungen, die auf demselben Computer ausgeführt werden.

Verwenden der Beispiele

Bei vielen Codebeispielen handelt es sich um kurze Codeausschnitte zu Demonstrationszwecken und nicht um voll einsatzbereite Beispiele oder um Code, mit dem Werte überprüft werden. Da bei Verwendung der externen API (per Definition) ActionScript-Code sowie Code in einer Containeranwendung geschrieben werden muss, wird beim Testen der Beispiele auch ein Container erstellt (z. B. eine Webseite mit der SWF-Datei). Darüber hinaus erfolgt mithilfe der Codebeispiele eine Interaktion mit dem Container.

So testen Sie ein Beispiel für die Kommunikation zwischen ActionScript und JavaScript:

  1. Erstellen Sie mit Flash Professional ein neues Dokument und speichern Sie es auf dem Computer.

  2. Wählen Sie im Hauptmenü die Optionen „Datei“ > „Einstellungen für Veröffentlichungen“ aus.

  3. Überprüfen Sie im Dialogfeld „Einstellungen für Veröffentlichungen“ auf der Registerkarte „Formate“, ob die Kontrollkästchen „Flash“ und „HTML“ aktiviert sind.

  4. Klicken Sie auf die Schaltfläche „Veröffentlichen“. Dadurch werden eine SWF-Datei und eine HTML-Datei in dem Ordner und mit dem Namen erstellt, unter denen Sie auch das Dokument gespeichert haben. Klicken Sie auf „OK“, um das Dialogfeld „Einstellungen für Veröffentlichungen“ zu schließen.

  5. Deaktivieren Sie das Kontrollkästchen „HTML“. Nachdem die HTML-Seite nun erstellt wurde, bearbeiten Sie sie, und fügen Sie den entsprechenden JavaScript-Code ein. Durch Deaktivieren des Kontrollkästchens „HTML“ wird sichergestellt, dass Ihre Änderungen an der HTML-Seite beim Veröffentlichen der SWF-Datei in Flash nicht mit einer neuen HTML-Seite überschrieben werden.

  6. Klicken Sie auf „OK“, um das Dialogfeld „Einstellungen für Veröffentlichungen“ zu schließen.

  7. Öffnen Sie die HTML-Datei, die in Flash beim Veröffentlichen der SWF-Datei erstellt wurde, mit einer HTML-Anwendung oder einem Texteditor. Fügen Sie im HTML-Quellcode öffnende und schließende script -Tags ein und kopieren Sie sie in den JavaScript-Code aus dem Codebeispiel:

    <script> 
    // add the sample JavaScript code here 
    </script>
  8. Speichern Sie die HTML-Datei und kehren Sie zu Flash zurück.

  9. Wählen Sie das Schlüsselbild auf Bild 1 der Zeitleiste aus und öffnen Sie das Bedienfeld „Aktionen“.

  10. Kopieren Sie das ActionScript-Codebeispiel in das Bedienfeld „Skript“.

  11. Wählen Sie im Hauptmenü die Optionen „Datei“ > „Veröffentlichen“ aus, um die SWF-Datei mit den vorgenommenen Änderungen zu aktualisieren.

  12. Öffnen Sie die bearbeitete HTML-Seite in einem Webbrowser, um die Seite anzuzeigen und die Kommunikation zwischen ActionScript und der HTML-Seite zu testen.

So testen Sie ein Beispiel für die Kommunikation zwischen ActionScript und einem ActiveX-Container:

  1. Erstellen Sie mit Flash Professional ein neues Dokument und speichern Sie es auf dem Computer. Es empfiehlt sich, das Dokument in dem Ordner zu speichern, in dem die Containeranwendung normalerweise nach der SWF-Datei sucht.

  2. Wählen Sie im Hauptmenü die Optionen „Datei“ > „Einstellungen für Veröffentlichungen“ aus.

  3. Vergewissern Sie sich im Dialogfeld „Einstellungen für Veröffentlichungen“ auf der Registerkarte „Formate“, dass nur das Kontrollkästchen „Flash“ aktiviert ist.

  4. Klicken Sie im Feld „Datei“ neben dem Kontrollkästchen „Flash“ auf das Ordnersymbol, um den Ordner auszuwählen, in dem die SWF-Datei veröffentlicht wird. Durch Festlegen des Speicherorts für die SWF-Datei können Sie (beispielsweise) das Dokument in einem Ordner und die veröffentlichte SWF-Datei in einem anderen Ordner speichern, z. B. in dem Ordner, in dem auch der Quellcode für die Containeranwendung gespeichert ist.

  5. Wählen Sie das Schlüsselbild auf Bild 1 der Zeitleiste aus und öffnen Sie das Bedienfeld „Aktionen“.

  6. Kopieren Sie das ActionScript-Codebeispiel in das Bedienfeld „Skript“.

  7. Wählen Sie im Hauptmenü die Optionen „Datei“ > „Veröffentlichen“ aus, um die SWF-Datei erneut zu veröffentlichen.

  8. Erstellen und führen Sie die Containeranwendung aus, um die Kommunikation zwischen ActionScript und der Containeranwendung zu testen.

Vollständige Beispiele für die Verwendung der externen API zur Kommunikation mit einer HTML-Seite finden Sie unter dem folgenden Thema: Diese Beispiele enthalten den vollständigen Code, einschließlich ActionScript-Code und Code zur Fehlerüberprüfung in der Containeranwendung, den Sie beim Schreiben von Code für die externe API verwenden sollten. Ein weiteres vollständiges Beispiel zur Verwendung der externen API finden Sie im Beispiel für die ExternalInterface-Klasse in der ActionScript 3.0-Referenz.