登录 | 注册 | 论坛 | 搜索 | 会员中心 | 关于我们
论坛首页    »   页面、美工、设计   »    flash调用js中的方法,让js传递变量给flash (兼容 IE & FF) (转)  
  
上一主题 下一主题
 标题:flash调用js中的方法,让js传递变量给flash (兼容 IE & FF) (转)  

kuaiyigang
状态: 新的一年,新的战斗
等级: 管理员发帖: 474帖
排名: 第1名积分: 2324分
来自: 湖北随州
离线: 2008年10月31日
        
1 楼

flash调用js中的方法,让js传递变量给flash (兼容 IE & FF) (转)

前几天发表了 将FlashVars写在JS函数中,实现与后台的实时变量更新,但是仅支持 IE,随后与 Luckyer 进行了交流,发现用 SetVariable 可以很方便的实现多浏览器兼容。举例如下。

html 页中的 JavaScript 函数:
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 中定义的变量,以上函数将 JS 变量 pics1 和 pics1 分别赋值予 Flash 变量 pic01Num 和 pic02Num 。my_swfId 为 html 页中 swf 的 id .

***************

在 Flash 中与 JS 的通信可以用传统的 getURL,Flash8 以后,可以用 ExternalInterface 。ExternalInterface 在功能上与 fscommand()、CallFrame() 和 CallLabel() 方法相似,但它更灵活、更通用。推荐对 JavaScript 和 ActionScript 之间的通讯使用 ExternalInterface 。

getURL调用JS:
getURL("javascript:GetSwfUrl()");

ExternalInterface调用JS:
import flash.external.ExternalInterface;//导入 ExternalInterface 类
ExternalInterface.call("GetSwfUrl()");

注意:如果要使用 ExternalInterface,当前帧必需要有 import flash.external.ExternalInterface; 或者 import flash.external.*;


  www.kuaiyigang.com
2008-07-12 10:15:42      
  
11/11


Powered by BbsFine 0.2 © 2002-2008 Xingmo.com Archiver
星模公司 ©2008 版权所有 京ICP备05011686号