在Flash中使用ExternalInterface,可以實現(xiàn)Flash與JavaScript之間的交互。以下是使用ExternalInterface的步驟:
import flash.external.ExternalInterface;
ExternalInterface.available
屬性檢查是否支持ExternalInterface。如果返回true
,則可以進行交互。if (ExternalInterface.available) {
// 可以進行交互
} else {
// 不支持交互
}
ExternalInterface.call()
方法調(diào)用JavaScript函數(shù)。方法的第一個參數(shù)是要調(diào)用的JavaScript函數(shù)名,之后的參數(shù)是傳遞給JavaScript函數(shù)的參數(shù)。ExternalInterface.call("myJavascriptFunction", "參數(shù)1", "參數(shù)2");
ExternalInterface.addCallback()
方法在Flash中注冊一個函數(shù),供JavaScript調(diào)用。第一個參數(shù)是在JavaScript中調(diào)用函數(shù)的名稱,第二個參數(shù)是要注冊的Flash函數(shù)。ExternalInterface.addCallback("myFlashFunction", myFlashFunction);
function myFlashFunction(param1:String, param2:int):void {
// 處理傳遞過來的參數(shù)
}
swfobject
庫來嵌入Flash對象,并使用getElementById()
方法獲取Flash對象的引用。然后可以使用callASFunction()
方法調(diào)用Flash中注冊的函數(shù),或者使用setReturnValue()
方法將值返回給Flash。var flashObj = document.getElementById("myFlash");
flashObj.myFlashFunction("參數(shù)1", 2);
var returnValue = flashObj.myFlashFunctionWithReturnValue();
flashObj.setReturnValue(returnValue);
這樣就實現(xiàn)了Flash與JavaScript之間的交互。注意,交互過程中需要注意參數(shù)類型的匹配和安全性的考慮。