flash調(diào)用js中的方法,讓js傳遞變量給flash的辦法及思路
更新時(shí)間:2013年08月07日 10:59:20 作者:
前幾天發(fā)表了 將FlashVars寫(xiě)在JS函數(shù)中,實(shí)現(xiàn)與后臺(tái)的實(shí)時(shí)變量更新,但是僅支持 IE,隨后與 Luckyer 進(jìn)行了交流,發(fā)現(xiàn)用 SetVariable 可以很方便的實(shí)現(xiàn)多瀏覽器兼容。舉例如下。
html 頁(yè)中的 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);
}
說(shuō)明:pic01Num 和 pic02Num 為 Flash 中定義的變量,以上函數(shù)將 JS 變量 pics1 和 pics1 分別賦值予 Flash 變量 pic01Num 和 pic02Num 。my_swfId 為 html 頁(yè)中 swf 的 id .
***************
在 Flash 中與 JS 的通信可以用傳統(tǒng)的 getURL,F(xiàn)lash8 以后,可以用 ExternalInterface 。ExternalInterface 在功能上與 fscommand()、CallFrame() 和 CallLabel() 方法相似,但它更靈活、更通用。推薦對(duì) JavaScript 和 ActionScript 之間的通訊使用 ExternalInterface 。
getURL調(diào)用JS:
getURL("javascript:GetSwfUrl()");
ExternalInterface調(diào)用JS:
import flash.external.ExternalInterface;//導(dǎo)入 ExternalInterface 類(lèi)
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);
}
說(shuō)明:pic01Num 和 pic02Num 為 Flash 中定義的變量,以上函數(shù)將 JS 變量 pics1 和 pics1 分別賦值予 Flash 變量 pic01Num 和 pic02Num 。my_swfId 為 html 頁(yè)中 swf 的 id .
***************
在 Flash 中與 JS 的通信可以用傳統(tǒng)的 getURL,F(xiàn)lash8 以后,可以用 ExternalInterface 。ExternalInterface 在功能上與 fscommand()、CallFrame() 和 CallLabel() 方法相似,但它更靈活、更通用。推薦對(duì) JavaScript 和 ActionScript 之間的通訊使用 ExternalInterface 。
getURL調(diào)用JS:
復(fù)制代碼 代碼如下:
getURL("javascript:GetSwfUrl()");
ExternalInterface調(diào)用JS:
復(fù)制代碼 代碼如下:
import flash.external.ExternalInterface;//導(dǎo)入 ExternalInterface 類(lèi)
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瀏覽器下同時(shí)可以復(fù)制粘貼
- JS/FLASH實(shí)現(xiàn)復(fù)制代碼到剪貼板(兼容所有瀏覽器)
- Js+Flash實(shí)現(xiàn)訪問(wèn)剪切板操作
- JS 仿Flash動(dòng)畫(huà)放大/縮小容器
- JS+CSS實(shí)現(xiàn)大氣的黑色首頁(yè)導(dǎo)航菜單效果代碼
- JS實(shí)現(xiàn)仿FLASH效果的豎排導(dǎo)航代碼
相關(guān)文章
JavaScript實(shí)現(xiàn)簡(jiǎn)單版的留言發(fā)布與刪除
這篇文章主要介紹了如何通過(guò)JavaScript實(shí)現(xiàn)簡(jiǎn)單的留言板功能:留言的發(fā)布與刪除。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下2022-03-03
微信小程序?qū)崿F(xiàn)滑動(dòng)切換自定義頁(yè)碼的方法分析
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)滑動(dòng)切換自定義頁(yè)碼的方法,結(jié)合實(shí)例形式分析了微信小程序頁(yè)碼動(dòng)態(tài)切換相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-12-12
javascript實(shí)現(xiàn)簡(jiǎn)單的進(jìn)度條
本文給大家分享2個(gè)javascript實(shí)現(xiàn)簡(jiǎn)單的進(jìn)度條,一個(gè)是個(gè)人制作一個(gè)是網(wǎng)友實(shí)現(xiàn)的,都很不錯(cuò),這里推薦給大家。2015-07-07
基于jquery實(shí)現(xiàn)全屏滾動(dòng)效果
相信大家都很喜歡網(wǎng)易郵箱、QQ瀏覽器的官方網(wǎng)站這樣的可全屏滾動(dòng)的效果,也許更多的朋友想把全屏滾動(dòng)效果做到自己的網(wǎng)站中,本文就帶著大家一起完成這個(gè)效果2015-11-11

