Martin Bommeli, 06.02.08

AS3: Mehrere Methoden über ExternalInterface übergeben

Nehmen wir mal an, wir wollen eine JavaScript-Funktion die im html eingebettet ist, aus flash aufrufen.

function meineFunktion(arg1,arg2){
	alert("test: "+arg1+" "+arg2);
}

Früher haben wir dazu einen getURL-Aufruf gemacht. Z.b:

getURL("javascrip:meineFunktion('77','blabla');","_self");

Seit Flash8 gibt es jedoch die Möglichkeit von JavaScript zu Flash und zurück zu kommunizieren. Hier ein Beispiel wie man eine JS-Funktion aufruft:

//import flash.external.ExternalInterface;
ExternalInterface.call("meineFunktion");

Die Argumente können jedoch nicht einfach Komma getrennt mitgegeben werden. Man benötigt jeweils noch einen "escape"..

//import flash.external.ExternalInterface;
var arg1:String = "77";
var erg2:String = "blabla";
ExternalInterface.call("meineFunktion",escape(arg1), escape(erg2));
blog comments powered by Disqus