1、使用 ExternalInterface apihtml
1.as調用js,as給js發送參數數據api
as代碼:app
// as向js發出 方法名+參數 ExternalInterface.call(functionName:String, ...parameters:*) 方法名是字符串,參數能夠是任何數據類型 if(ExternalInterface.available) {
ExternalInterface.call("onSetDataToJs", 「as經過ExternalInterface.call方法向js傳遞參數」);
}
js代碼:函數
function onSetDataToJs(value) { console.log("此方法被as調用:"+value); }
2.js調用as代碼,js給as發送參數數據spa
js代碼:code
setDataToAs(); function setDataToAs() { var flash = getMovieName("sco_flash") // sco_flash是嵌入在html裏的flash的id flash.onJsToAs("js傳參給as"); } //獲取此頁面加載FLASH對象名稱 function getMovieName(movieName) { if (window.document[movieName]) { return window.document[movieName]; }else if (navigator.appName.indexOf("Microsoft")==-1) { if (document.embeds && document.embeds[movieName]) return document.embeds[movieName]; }else{ return document.getElementById(movieName); } };
as代碼:htm
// as監聽js發來的 方法名,而後經過回調函數接收參數 ExternalInterface.addCallback(functionName:String, closure:Function) 方法名是字符串,回調一個函數 if(ExternalInterface.available) { ExternalInterface.addCallback("onJsToAs",onJsToAs); } function onJsToAs(str:*) { trace(str); }
2、使用 fscommand api對象
1.as調用js,as給js發送參數數據blog
as代碼:字符串
// as向js發出 方法名+參數 fscommand(command:String, args:String="") 命令是字符串,參數也只能是字符串 fscommand("onSetDataToJs", 「as經過fscommand方法向js傳遞參數」);
js代碼:
function onSetDataToJs(value) { console.log("此方法被as調用:"+value); }