Logo

dansion’s 日志

学无止境~~~~~~~
rss
  • 首页
  • 日志首页
  • FLASH音乐盒
  • FLash 地图
  • 登录

js与flash交互

在html页面里js调用swf里的方法,以及swf调用js函数。
在as中:

ExternalInterface.call("js函数名“,参数1,参数2,....);//flash调用js
ExternalInterface.addCallback("js函数名", as对应方法);//添加js对应的回调函数。

在html中:
关健是要先获取dom里的flash节点对象.假定为swfobj,
js调用方法为:swfobj.方法名(参数1,参数2);
例如:
as中:

ExternalInterface.addCallback("play", jsplay)
function jsplay(a,b,c){
//do someting
}

则js中可为:
swfobj.play(”a”,”b”,”c”);
js调用时需要对中的AllowScriptAccess做设定,默认值是: sameDomain,如果跨域的需要设为always,还要对其as中的Security.allowDomain进行设定,图方便可直接设为 Security.allowDomain(*);

补充一个比较杯具的问题:
除纯正的IE之外所有IE内核的浏览器,例如:傲游,TT,世界之窗等等,在js调用flash时会出现安全沙箱的问题。貌似是AllowScriptAccess无效了,其真正原因是因为这些外壳浏览器的缓存机制的问题。比较恶心的作法是针对IE内核的浏览器在引用swf文件时,在其URL地后增加一个随机变量。通过动态改变URL方式清除缓存。本来还以为是这些浏览器有问题,后来细想一下,还是adobe的问题。

jquery+swfobject代码:

var r=$.browser.msie?"?"+Math.random():"";
swfobject.embedSWF("main.swf"+r, "slides", "500", "260", "9.0.0","",
{}, {"AllowScriptAccess":"always"}, {"id":"flash_map","name":"flash_map"});

This entry was posted on 星期六, 二月 6th, 2010 at 17:03 and is filed under Flash ActionScript, Javascript. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

« yui2.8在Dreamweaver的代码提示

Leave a Reply

点击这里取消回复

  • about me

    dansion:现就职于口碑UED,从事前端发开工作。倚看浮尘,独乐矣!
    twitter:dansion.zeng
  • TAG

      五笔 农历 播放器 玄学 百度 网站 actionscript3 AMFPHP as css CSS3预览 dreamweaver FancyUpload ff firefox flash flash 10 Flash ActionScript Flash ActionScript flash cs3 flash remotion flex flv google html ie ie6 ie8 im Javascript js loader mp3 opensearch qq svn textarea WebSlices z-index
  • 最新文章

    • js与flash交互
    • yui2.8在Dreamweaver的代码提示
    • QQ五笔的小动作!
    • swfobject判断浏览器是否安装或是启用flash
    • 自定义 Dreamweaver CS4 代码提示
    • FLASH Loader 的 bug?
    • 离开深圳
    • JS滚动条
    • as闭包,addEventListener传参数.
    • 闭包!!!
  • 最新评论

    • zhouqi: 好冷清,捧场来了~ YUI提示快上来吧~
    • kenis: 在天地会看到博主的农历类,特地来这里感谢博主~
    • dafi: QQ五笔输入法已经出来了。
    • admin: 是比较杯具,因为虚拟服务商的问题。dis文件是文本类型的。
    • jinhr: 无法下载,以下是显示的错误信息。太可笑了。 发现被禁止的关键字:**** 在页面上发现被禁止的关键字:****! 请及时删除!
    • dafi: 你不在,吃饭时杀伤力都不强了。 那天江请吃饭都松了口气:还好曾董不在。。。
    • auzn: 是有问题 :)
    • shaming: 今天查阅了资料,月柱确实是跟着二十四节气走,仁兄是对的;然而在那个类中月柱“快了一天”,比如09年10月8日是寒露,从这天起月柱才由“癸酉”变成“甲戌”,但是那个类中10月7日就已经是“甲戌”月了。 瑕疵我找到了,原来只要把下面代码中的(d+1)改成d即可。 if ((d+1)>=firstNode) {
    • admin: 八字里是缺少一个时柱。但月柱跟农历月份走,有待考量,相当于年柱是否以春节为界,还是以立春为界。
    • shaming: 仁兄写的农历AS类果然强大,您的这个类在网络上广为流传,有幸我也看到了并使用了,在此非常感谢您! 接着就是我发现的问题: 1、八字没有出来,也就是时辰的天干还没有。 2、月柱应当跟着农历月分走。
  • 分类

    • Flash ActionScript (8)
    • FLASH心得 (8)
    • Javascript (6)
    • xhtml+css (16)
    • 了心作 (5)
    • 作品 (3)
    • 其它 (7)
    • 未分类 (8)
    • 网站相关 (2)
    • 胡言乱语 (2)
  • 存档

    • 2010年二月
    • 2009年十一月
    • 2009年十月
    • 2009年八月
    • 2009年七月
    • 2009年六月
    • 2009年五月
    • 2009年四月
    • 2008年十二月
    • 2008年八月
    • 2008年六月
    • 2008年五月
    • 2008年四月
    • 2008年三月
    • 2008年二月
    • 2008年一月
    • 2007年十二月
    • 2007年十一月
    • 2007年十月
    • 2007年五月
    • 2007年四月
    • 2007年三月
    • 2007年一月
© 2005-2010 dansion’s 日志 is proudly powered by WordPress Entries (RSS) and Comments (RSS). 浙ICP备06014046号