| Communitymx.com 提供了這篇Flash 8和Javascript的新的整合方式, 或許大家知道之前使用Fscommand 或者 macromedia提供的Flash/JavaScript Intergration Kit , 但是新版的Flash player 8 提供了更簡單的方法, 該文章提供了兩個範例, 一個是Flash呼叫Javascript的方式,方法如下:
Javascript端:
< script language="JavaScript" >
function getLocation() {
return window.location.toString();
}
< /script >
Flash 端:
import flash.external.ExternalInterface;
function displayPageLocation():Void {
locationDisplay.text =
ExternalInterface.call("getLocation");
}
locationButton.addEventListener("click",
mx.utils.Delegate.create(this, displayPageLocation));
可以發現藉由ExternalInterface的class可以很直接的去呼叫javascript的函數, 而另一個範例則是Javascript呼叫flash的函數:
Javascript端:
< script language="JavaScript" >
function displayFlashInfo() {
//適用ie,netscapt需用window.document.flashObject
var flashInfo = window.flashObject.getFlashInfo();
for(var key in flashInfo) {
document.flashForm.flashInfoDisplay.value +=
key + ": " + flashInfo[key] + "\n";
}
}
< /script >
Flash端:
import flash.external.ExternalInterface;
function getFlashInfo():Object {
return System.capabilities;
}
ExternalInterface.addCallback("getFlashInfo", this, getFlashInfo);
可以發現與Javascript之間的溝通變的更直接了..... |