Anforderungen und Vorteile externer APIsFlash Player 9 und höher, Adobe AIR 1.0 und höher Die externe API ist der Teil von ActionScript, der einen Mechanismus für den Datenaustausch zwischen ActionScript und anderem Code bereitstellt, der in einer „externen Anwendung“ ausgeführt wird, die als Container für Flash Player fungiert (gewöhnlich ein Webbrowser oder eine eigenständige Projektoranwendung). In ActionScript 3.0 wird die Funktionalität der externen API durch die ExternalInterface-Klasse bereitgestellt. In den Flash Player-Versionen vor Flash Player 8 wurde die fscommand()-Aktion für den Datenaustausch mit der Containeranwendung verwendet. Die ExternalInterface-Klasse ersetzt fscommand(). Hinweis: Für den Fall, dass Sie die alte fscommand()-Funktion verwenden müssen – beispielsweise um die Kompatibilität mit älteren Anwendungen zu wahren oder für die Interaktion mit einer SWF-Containeranwendung von Drittanbietern oder mit dem eigenständigen Flash Player – ist diese weiterhin als Funktion auf Paketebene im flash.system-Paket verfügbar.
Die ExternalInterface-Klasse ist ein Subsystem, das den Datenaustausch zwischen ActionScript bzw. Flash Player und JavaScript in HTML-Seiten bzw. allen Desktopanwendungen erleichtert, die eine Instanz von Flash Player enthalten. Die ExternalInterface-Klasse steht nur in folgenden Fällen zur Verfügung:
In allen anderen Fällen (z. B. beim Ausführen in einem eigenständigen Player) gibt die ExternalInterface.available-Eigenschaft den Wert false zurück. Mit ActionScript können Sie JavaScript-Funktionen in einer HTML-Seite aufrufen. Im Vergleich zu fscommand() bietet die externe API die folgende verbesserte Funktionalität:
Wichtig: Wenn der Name der Flash Player-Instanz in einer HTML-Seite (das id-Attribut des object-Tags ) einen Bindestrich (-) oder andere Zeichen enthält, die in JavaScript als Operatoren definiert sind (zum Beispiel +, *, /, \, . usw.), sind
ExternalInterface-Aufrufe aus ActionScript beim Anzeigen der Containerwebseite in Internet Explorer unwirksam. Darüber hinaus funktionieren ExternalInterface-Aufrufe aus ActionScript nicht, wenn die die Flash Player-Instanz definierenden HTML-Tags (object und embed) in einem HTML-form-Tag verschachtelt sind.
|
|