/ / Wie lösen Sie JavaScript-Funktionen aus Flash aus? - Javascript, Jquery, Flash, ActionScript, Funktion

Wie lösen Sie JavaScript-Funktionen aus Flash aus? - Javascript, Jquery, Flash, ActionScript, Funktion

Wie löst man eine JavaScript-Funktion mit ActionScript im Flash aus?

Ziel ist es, die jQuery-Funktionalität aus einem Flash-Film auszulösen

Antworten:

13 für die Antwort № 1

Sieh dir das an Externe Schnittstelle-Klasse.
Aus der AS3-Sprachreferenz:

Die ExternalInterface-Klasse ist die Externe API,eine Bewerbung Programmierschnittstelle, die ermöglicht einfache Kommunikation zwischen ActionScript und der Flash Player Container - zum Beispiel eine HTML-Seite mit JavaScript. Adobe empfiehlt Verwenden von ExternalInterface für alle JavaScript-ActionScript-Kommunikation.

Und es funktioniert so:

ExternalInterface.addCallback("sendToActionScript", receivedFromJavaScript);
ExternalInterface.call("sendToJavaScript", input.text);

Sie können Parameter eingeben und Rückrufe erhalten ... ziemlich cool, oder? ;)

Wie ich weiß, wird es auch auf AS2 funktionieren ...


4 für die Antwort № 2

Als Jochen sagte ExternalInterface ist der Weg zu gehen und ich kann bestätigen, dass es mit AS2 funktioniert.

Wenn Sie die Navigation oder etwas anderes auslösen möchtendas betrifft den Bereich, in dem der Blitz sitzt, tut es nicht direkt von der Funktion, die Sie vom Blitz aufrufen. Flash erwartet einen Rückgabewert von der Funktion, die es aufruft, und wenn das Flash-Objekt nicht existiert, wird das Flash-Plugin abstürzen .

Wenn Sie eine Navigation durchführen oder den Inhalt ändern müssen, können Sie einen setTimeout-Aufruf hinzufügen (in Ihre js-Funktion). Das wird einen neuen Thread erstellen und Flash den erwarteten Rückgabewert geben.