JS和AS互動有很多的方法,例如Fscommand…etc,但在flash8中提供了ExternalInterface這個好用的API,讓JS與AS的互動更簡單。以下為範例:
JavaScript:
var flash;
//當視窗載入完畢,宣告變數flash,若不加onload這行會因為flash影片(因為影片在這段code的下面),還沒載入而產生錯誤,解決方法有2,第一:把這段code寫在flash影片後,第二:用window.onload判斷。
window.onload = function()
{
flash = window.flashObject;//flashObject是swf檔的object id
}
function displayFlashInfo()
{
flash.getFlashInfo();//呼叫flash裡的function
}
ActionScript:
//寫在影格1
stop();
import flash.external.ExternalInterface;
ExternalInterface.addCallback("getFlashInfo",this,getFlashInfo);
function getFlashInfo():Object {
_root.nextFrame();//往下跳一個影格
return
}
因為flash8安全性(flash不能存取本機物件)的關係,測試時請傳到伺服器上(遠端或本地端)測試,直接click是不會有結果的。
參考網址:http://www.communitymx.com/content/article.cfm?page=1&cid=0922A