flash調(diào)用js中的方法,讓js傳遞變量給flash的辦法及思路
更新時間:2013年08月07日 10:59:20 作者:
前幾天發(fā)表了 將FlashVars寫在JS函數(shù)中,實(shí)現(xiàn)與后臺的實(shí)時變量更新,但是僅支持 IE,隨后與 Luckyer 進(jìn)行了交流,發(fā)現(xiàn)用 SetVariable 可以很方便的實(shí)現(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.*;
您可能感興趣的文章:
- 可以媲美Flash的JS導(dǎo)航菜單
- JS實(shí)現(xiàn)FLASH幻燈片圖片切換效果的方法
- 基于js與flash實(shí)現(xiàn)的網(wǎng)站flv視頻播放插件代碼
- js怎么判斷flash swf文件是否加載完畢
- JS+flash實(shí)現(xiàn)chrome和ie瀏覽器下同時可以復(fù)制粘貼
- JS/FLASH實(shí)現(xiàn)復(fù)制代碼到剪貼板(兼容所有瀏覽器)
- Js+Flash實(shí)現(xiàn)訪問剪切板操作
- JS 仿Flash動畫放大/縮小容器
- JS+CSS實(shí)現(xiàn)大氣的黑色首頁導(dǎo)航菜單效果代碼
- JS實(shí)現(xiàn)仿FLASH效果的豎排導(dǎo)航代碼
相關(guān)文章
Javascript 拖拽的一些簡單的應(yīng)用(逐行分析代碼,讓你輕松了拖拽的原理)
這篇文章主要介紹了Javascript 拖拽的一些簡單的應(yīng)用(逐行分析代碼,讓你輕松了拖拽的原理),需要的朋友可以參考下2015-01-01幾個比較實(shí)用的JavaScript 測試及效驗(yàn)工具
JavaScript 是一款強(qiáng)大的廣泛運(yùn)用于現(xiàn)代Web站點(diǎn)及應(yīng)用的腳本語言。作為一個技藝精湛的 Web 開發(fā)者,掌握J(rèn)avaScript可以增強(qiáng)用戶的使用體驗(yàn),提供交互及富客戶端等功能。2010-04-04uniapp微信小程序無法獲取Vue.prototype值的解決方法
在uniapp開發(fā)過程中,各端的一些高度會有區(qū)別,為了方便就要統(tǒng)一放到全局變量中,下面這篇文章主要給大家介紹了關(guān)于uniapp微信小程序無法獲取Vue.prototype值的解決方法,需要的朋友可以參考下2022-10-10javascript的事件觸發(fā)器介紹的實(shí)現(xiàn)
這篇文章主要介紹了javascript的事件觸發(fā)器介紹的實(shí)現(xiàn),本文所指觸發(fā)器是用程序來觸發(fā)綁定的事件,而不是人為的去觸發(fā),需要的朋友可以參考下2014-06-06Mozilla 表達(dá)式 __noSuchMethod__
這是一個很特殊的方法,但是其存在的意義很大。不過很可惜只有firefox支持了。一個簡單的例子解釋一下它的用處2009-04-04