Es gibt viele Web - Programmierung Situationen, die für Informationen rufen Sie zwischen Client-Seite Javascripts und Embedded Flash-Inhalte weitergegeben werden. Vor der Veröffentlichung von Flash 8, könnten Programmierer verwenden Methoden wie getURL () und SetVariable (). Allerdings enthält das Release von Flash 8 eine neue Klasse speziell auf die Kommunikation mit Funktionen außerhalb des Flash gewidmet (siehe Referenzen 1) . Mit dem ExternalInterface Klasse in Flash 8 ist nun der effektivste Weg , um Flash in eine Website integrieren , dass Javascript verwendet . Things You
Adobe Flash Professional CS5
Texteditor
brauchen anzeigen Weitere Anweisungen
1
Legen Sie den folgenden Parameter zwischen den "Gegenstand" Tags im Code einbetten des HTML-Dokuments :
Download
Dadurch wird sichergestellt, dass Ihre Flash-Film gestattet wird , mit Javascript zu kommunizieren , während Sie Test lokal (siehe Referenzen 1, Seite 2). Wenn Sie veröffentlichen , können Sie den Wert auf " sameDomain " den Missbrauch der SWF-Datei von Webseiten Dritter zu verhindern.
2
Fügen Sie die ExternalInterface Klasse im ActionScript-Code von Flash -Datei mit den folgenden Befehl ein : . .
Import flash.external * ;
(siehe Referenzen 1, Seite 5 )
3
schreiben Javascript Funktion in Ihr HTML-Dokument , das mindestens ein Argument nimmt und einen Wert zurückgibt. Sie müssen keine speziellen Javascript-Code , um diese Funktion von Flash 8 rufen zu schreiben.
4
Verwenden Sie die ExternalInterface.call ()-Methode in Ihrer Actionscript Ihre Javascript -Funktion aus dem eingebetteten Flash-Film nennen . Der erste Parameter dieser Methode ist die JavaScript-Funktion den Namen als String , und man kann es mit so vielen Parametern folgen, wie Sie außerhalb der an die Funktion übergeben , die alle durch ein Komma getrennt werden soll. Eine allgemeine Form dieser Aufruf:
ExternalInterface.call ( FunctionName , Parameter1 , Parameter2 , ...) in
(siehe Referenzen 1 , Seite 5)
5 .
Verwenden Sie eine normale Variable Zuweisungsoperator im ActionScript-Code , um den Rückgabewert der Javascript -Funktion abrufen , so wie man es mit einer beliebigen Funktion :
ReturnedValue = ExternalInterface.call ( FunctionName , Parameter1 , Parameter2 , . ..) ;
6
Nutzungsbedingungen Actionscript typecasting die Methoden auf dem ExternalInterface Anruf , wenn Sie Probleme mit der Art der Wert Javascript Renditen führen . Int () und String () sind typische Beispiele (siehe Referenzen 2).
7
Verwenden Sie die addCallback ( )-Methode der Klasse ExternalInterface Methoden in Actionscript zugänglich zu externen Javascripts machen (siehe Referenzen 1 , Seite 6). Die addCallback ()-Methode hat die folgende allgemeine Form :
ExternalInterface.addCallback ( ExternalName , Instance , InternalName )
ExternalName ist der Name, unter dem die Funktion von Javascript aufgerufen werden kann , und ist InternalName der Name der Funktion in Actionscript . Die "Instanz" Parameter wird verwendet, um die Auflösung der "this" Schlüsselwort angeben , und wird in der Regel auf " null " .
8
Anruf Ihre Actionscript -Funktion von Javascript mit dem Namen, den Sie für die angegebenen " ExternalName " in der addCallback Methode vorangestellt durch einen gültigen DOM Bezug auf den Flash-Film . Zum Beispiel:
window.document.flashMovie.flashFunctionName ( Parameter1 , Parameter2 , ...);
Siehe Abschnitt Ressourcen für eine eingehende Diskussion der gültigen DOM Referenzen und sein sicher , um Ihren Code in mehreren Browsern testen, um sicherzustellen, dass der Flash-Film korrekt verwiesen wird.