Flash 与 JavaScript的交互:JS与SWF的通讯方式

所谓通讯就是信息的交换,这里我们谈的是js与Flash之间的数据交换的几种方式:

  1.Flashvars

    Flashvars - Flash初始化信息的传递者,它由N组 名值对 组成;当你的flash文件需要某些初始信息的时候就需要用到它。

    1)如果你使用标签嵌入Flash的方法,应像这样:<param name="flashvars" value="text=这是flashvars传入的数据啊" /> 用 param 标签传递信息;

    2)如果你使用的是 swfobject 就是用上面提到的,定义一个flashvars的变量然后在调用swfobject.embedSWF方法时传入这个变量;

    3)或者上面的这两种方法都可以在你要嵌入的Flash文件地址后面加上问号传递 入:"xxx.swf?name1=hello&name2=world ";

 

  2.JS调用Flash的方法,用参数传递信息给Flash或者得到Flash方法的返回信息

    Flash对象.flash方法名字(参数1,参数2, …);
    如:
      var flashObj = getFlashFun(“flashID”);
      var value = flashObj.flashFunName(args);

    注意:
      1.参数个数必须跟Flash里面的参数个数一致
      2.非同域下需要得到Flash内部的允许 Security.allowDomain(… domains)


       

  3.Flash调用js方法得到js方法的返回信息 或 通过参数传递信息给JS

    
ExternalInterface.call(js的函数名称,  ”参数1”,  ”参数2”, …);

    如:

    var value:String = ExternalInterface.call(“jsFunName“,  ”argument1”,  ”argument2”);


    注意非同域下设置 param 标签的 allowScriptAccess 属性的 value值为 always,如
      var params = {

        allowScriptAccess: "always"
      }; 

      或:

      <param name="allowScriptAccess" value="always" />

转载于:https://www.cnblogs.com/rialover/archive/2011/11/23/2260423.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值