javascriptからactionscriptを呼び出す方法を見つけましたが、いくつかの引数も渡す必要があります(動的)、どうすればこれを行うことができますか?
TIA。
javascriptからactionscriptを呼び出す方法を見つけましたが、いくつかの引数も渡す必要があります(動的)、どうすればこれを行うことができますか?
TIA。
私の経験では、フラッシュオブジェクトで関数を呼び出す必要があります。
次のjavascript関数を使用してフラッシュオブジェクトを取得します
function GetSWF(id) {
if (window.document[id] != null)
if (window.document[id].length == null)
return window.document[id];
else
return window.document[id][1];
else
if (typeof(document[id]) == 'undefined')
return $('#'+id)[0];
else
if (document[id].length == null)
return document[id];
else
return document[id][1];
}
次に、次のように関数を呼び出します
var flash = GetSWF('idOfSWF');
if (typeof flash.sendToActionScript === 'function'){
flash.sendToActionScript(yourObject,orParameter);
}
AS3は次のようになります
if (ExternalInterface.available){
ExternalInterface.addCallback("sendToActionScript",receivedFromJavascript);
}
function receivedFromJavascript(myObject:Object,myParameter:String):void{
// Do something
}
お役に立てれば。
編集:
GetSWF関数でjQueryを少し使用していることに気づきました。見て、それを削除してみます。(その行ですreturn $('#'+id)[0];
)
これを試してください:
ExternalInterface.addCallback("sendMsg", generateMsg);
function generateMsg(str):void {
trace(str);
}
JS:
msg = "";
function setMsg(myMsg) {
msg = myMsg;
SendDataToFlashMovie(myMsg);
}