So rufen Sie flash actionscript-callback-Methode von javascript?
Ich versuchte zu rufen, eine flash-callback-Methode von JavaScript.
Aber es scheint nicht zu arbeiten.
Die flash-action-script, Beispiel-code, wie unten [Vereinfacht]:
import flash.events.ActivityEvent;
import flash.events.StatusEvent;
import flash.external.ExternalInterface;
var test_var = ExternalInterface.addCallback("js_method_to_call", flash_method);
function flash_method()
{
return "test";
}
Den javascript-Beispiel-code unten geschrieben [Vereinfacht]:
function callFlashMethod(){
var flashFile = eval("window.document.test");
flashFile.js_method_to_call;
}
function loadTest(){
swfobject.embedSWF("test.swf", "test", "1", "1", "10.0.0", false);
}
$(document).ready(function(){
loadTest();
callFlashMethod();
});
Es wird immer die Fehlermeldung angezeigt, in fire-bug-Konsole "Flashdatei.js_method_to_call ist keine Funktion".
Sie haben versucht, die Fenster[ 'test' ] statt des eval? Ich bin mir ziemlich sicher, das ist, wo es schief geht.
InformationsquelleAutor Tricks By Sam | 2011-10-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist etwas, das sollte funktionieren wirklich gut:
Verwenden SWFObject.js für die Einbettung der Flash-Inhalt:
Verwenden Sie diese für die HTML:
Ihren Anruf Flash-Methode verwenden Sie diese Muster:
Rufen Sie die Flash-Methode:
thisMovie("test").js_method_to_call is not a function
Sie sind mit dem JS von meinem Beispiel für das laden der SWF? Stellen Sie sicher, dass
attributes.id = "test";
Die Platzhalter-variable${swf}
funktioniert nur, wenn Sie mit dem Flash Builder und, wenn dieser code befindet sich innerhalb des index.template.html und Sie kommentierte entsprechend die entry-point-Sprite von Ihrer app.InformationsquelleAutor Vladimir Tsvetkov
Erhalten Sie einen Verweis auf eine eingebettete SWF-Objekt, und verwenden Sie es, um einen Anruf zu tätigen, um Ihre as3-Methode.
InformationsquelleAutor Yogev Shelly
Es ist eine interessante und sehr ausführliche tutorial hier
http://bytes.com/topic/flash/answers/694359-how-do-i-access-flash-function-using-javascript#post2759970
InformationsquelleAutor Pierre de LESPINAY
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html?filter_flash=cs5&filter_flashplayer=10.2&filter_air=2.6
Dieser Seite beschreiben Sie die Lösung sehr gut, nur versuchen zu machen, Probe zu arbeiten. So können Sie Sortieren, das problem, und Vladimir Tsvetkov Antwort abgeschlossen ist.
InformationsquelleAutor ymutlu
Ich bin mir nicht sicher über diese Zeile:
Würde ich verwenden:
Auch, ich vermute, das war nur ein Tippfehler beim einfügen hier, aber
flashFile.js_method_to_call;
sollteflashFile.js_method_to_call();
document.getElementById("test")
,$("#test")
,eval("window.document.test")
InformationsquelleAutor jhocking