flash調(diào)用js中的方法,讓js傳遞變量給flash的辦法及思路
更新時間:2013年08月07日 10:59:20 作者:
前幾天發(fā)表了 將FlashVars寫在JS函數(shù)中,實現(xiàn)與后臺的實時變量更新,但是僅支持 IE,隨后與 Luckyer 進行了交流,發(fā)現(xiàn)用 SetVariable 可以很方便的實現(xiàn)多瀏覽器兼容。舉例如下。
html 頁中的 JavaScript 函數(shù):
function GetSwfUrl()
{
var pics1 = parseInt(Math.random()*5)+1;
var pics2 = parseInt(Math.random()*5)+1;
document.my_swfId.SetVariable("pic01Num", pics1);
document.my_swfId.SetVariable("pic02Num", pics2);
}
說明:pic01Num 和 pic02Num 為 Flash 中定義的變量,以上函數(shù)將 JS 變量 pics1 和 pics1 分別賦值予 Flash 變量 pic01Num 和 pic02Num 。my_swfId 為 html 頁中 swf 的 id .
***************
在 Flash 中與 JS 的通信可以用傳統(tǒng)的 getURL,F(xiàn)lash8 以后,可以用 ExternalInterface 。ExternalInterface 在功能上與 fscommand()、CallFrame() 和 CallLabel() 方法相似,但它更靈活、更通用。推薦對 JavaScript 和 ActionScript 之間的通訊使用 ExternalInterface 。
getURL調(diào)用JS:
getURL("javascript:GetSwfUrl()");
ExternalInterface調(diào)用JS:
import flash.external.ExternalInterface;//導(dǎo)入 ExternalInterface 類
ExternalInterface.call("GetSwfUrl()");
注意:如果要使用 ExternalInterface,當(dāng)前幀必需要有 import flash.external.ExternalInterface; 或者 import flash.external.*;
復(fù)制代碼 代碼如下:
function GetSwfUrl()
{
var pics1 = parseInt(Math.random()*5)+1;
var pics2 = parseInt(Math.random()*5)+1;
document.my_swfId.SetVariable("pic01Num", pics1);
document.my_swfId.SetVariable("pic02Num", pics2);
}
說明:pic01Num 和 pic02Num 為 Flash 中定義的變量,以上函數(shù)將 JS 變量 pics1 和 pics1 分別賦值予 Flash 變量 pic01Num 和 pic02Num 。my_swfId 為 html 頁中 swf 的 id .
***************
在 Flash 中與 JS 的通信可以用傳統(tǒng)的 getURL,F(xiàn)lash8 以后,可以用 ExternalInterface 。ExternalInterface 在功能上與 fscommand()、CallFrame() 和 CallLabel() 方法相似,但它更靈活、更通用。推薦對 JavaScript 和 ActionScript 之間的通訊使用 ExternalInterface 。
getURL調(diào)用JS:
復(fù)制代碼 代碼如下:
getURL("javascript:GetSwfUrl()");
ExternalInterface調(diào)用JS:
復(fù)制代碼 代碼如下:
import flash.external.ExternalInterface;//導(dǎo)入 ExternalInterface 類
ExternalInterface.call("GetSwfUrl()");
注意:如果要使用 ExternalInterface,當(dāng)前幀必需要有 import flash.external.ExternalInterface; 或者 import flash.external.*;
您可能感興趣的文章:
相關(guān)文章
Javascript 拖拽的一些簡單的應(yīng)用(逐行分析代碼,讓你輕松了拖拽的原理)
這篇文章主要介紹了Javascript 拖拽的一些簡單的應(yīng)用(逐行分析代碼,讓你輕松了拖拽的原理),需要的朋友可以參考下2015-01-01uniapp微信小程序無法獲取Vue.prototype值的解決方法
在uniapp開發(fā)過程中,各端的一些高度會有區(qū)別,為了方便就要統(tǒng)一放到全局變量中,下面這篇文章主要給大家介紹了關(guān)于uniapp微信小程序無法獲取Vue.prototype值的解決方法,需要的朋友可以參考下2022-10-10javascript的事件觸發(fā)器介紹的實現(xiàn)
這篇文章主要介紹了javascript的事件觸發(fā)器介紹的實現(xiàn),本文所指觸發(fā)器是用程序來觸發(fā)綁定的事件,而不是人為的去觸發(fā),需要的朋友可以參考下2014-06-06