要完成您所描述的内容,最好的方法是让Flash调用一个名为“pingJavaScript”的JavaScript函数。如果JavaScript正在运行,那么JavaScript函数将在名为“receiveJSNotification”的Flash电影上调用一个函数。所以在你的Flash电影中,如果这个方法被调用,你就知道JS正在运行。
要启用Flash影片和JavaScript之间的可靠的通信,这包括在动作脚本的影片的第一帧上的顶部:
import flash.external.ExternalInterface;
import flash.events.Event;
添加的功能,收到“是的,我活着”从JavaScript:
var js_available = false;
function receiveJSNotification(str:String):void {
_root.js_available = true;
}
ExternalInterface.addCallback("notifyFlash", receiveJSNotification);
ExternalInterface.call("pingJavaScript", null);
在JavaScript:
function pingJavaScript()
{
var movie = getFlash();
movie.notifyFlash();
}
function getFlash()
{
var movie = null;
if (navigator.appName.indexOf('Microsoft') != -1) {
movie = window['flashmovie'];
} else {
movie = document['flashmovie'];
}
return movie;
}
有趣的方法。这使事情变得复杂,但如果这是最好的方法,我可以采用它。这将在ActionScript 2中工作吗?谢谢! – DivideByHero 2009-02-12 16:40:06