我正在尝试从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));
}
我已经尝试了很长时间,有人知道如何解决吗?谢谢。