要完成您所描述的內容,最好的方法是讓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