javascript から swf にアクセスしようとしていたので、livedocs のこの例を変更しようとしています。http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html#includeExamplesSummary
しかし、何らかの理由で正しく動作しません。私が遭遇している問題は、Safari と Firefox では機能しないことです。javascript が値を swf に渡す前に、関数にアラートを入れた場合にのみ機能します。(少し時間がかかるようです)as3でタイマーも設定しようとしましたが、タイマーが機能せず、jsのアラートのみが役立ちます。
私がやりたかったのは、js を使用して、swf ファイルに ep1.swf を再生するように指示することだけです。ここに私のjsコードがあります:
document.observe('dom:loaded', function() {
$('episode1').observe('click', function() {
var params = {wmode : "transparent", allowScriptAccess:"always", movie:"header"};
swfobject.embedSWF("swf/float.swf", "header", "100%", "100%", "9.0.0","expressInstall.swf", "", params, "");
sendToActionScript("ep1.swf");
});
})
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName];
} else {
//alert("aaa")
return document[movieName];
}
}
function sendToActionScript(value) {
thisMovie('header').sendToActionScript(value);
}
これが私のas3コードです:
private function receivedFromJavaScript(value:String):void {
loader.load(new URLRequest(value));
}
私は本当に長い間試してきましたが、これを修正する方法を知っている人はいますか? ありがとう。