【记录】用js调用flash的方法,IE6-8出现的问题
2011-05-08 10:15
525 查看
前几天项目有个功能,必须使用js去调用flash的方法,来改变flash的内部状态。
其他浏览器都挺好,唯独IE6-8会出现问题。使用下面代码(用js调用flash的func方法并传递一个数字)!
在IE6-8下面会出现问题。第二次进入页面,flash 已经被缓存,监测flash.func始终是false。这样就不能调用flash.func方法。
最后的解决方法,使用swfObejct.js 动态把flash 载入页面,然后针对IE6-8加上flash.swf?Math.random();(随机数),禁止缓存。
当然这可能不是最好的办法。
看起来这很简单,其实也为难很长一段时间。
来自3楼的推荐:http://q.pnq.cc/archives/443(一个更好的方案)
其他浏览器都挺好,唯独IE6-8会出现问题。使用下面代码(用js调用flash的func方法并传递一个数字)!
function callFlash (index){ // 这里使用了jquery浏览器检查 var flash = $.browser.msie&&$.browser.version!=="9.0" ? window["magic"] : document["magic"]; //flash.func func是flash 里面的一个方法,有些时候 flash可能已经准备好,但是不一定可以调用方法 if(flash && flash.func){ flash.func(index); }else{ setTimeout(callFlash, 5000); } }
在IE6-8下面会出现问题。第二次进入页面,flash 已经被缓存,监测flash.func始终是false。这样就不能调用flash.func方法。
最后的解决方法,使用swfObejct.js 动态把flash 载入页面,然后针对IE6-8加上flash.swf?Math.random();(随机数),禁止缓存。
当然这可能不是最好的办法。
function (){ var a = $.browser.msie&&$.browser.version!=="9.0" ? ('?'+Math.random()) : ""; var b=new SWFObject("/swfs/magic.swf"+a,"magic","310","316","7","#336699");//swfobject是一个插件 b.addParam("allowScriptAccess","always"); b.addParam("wmode","transparent"); b.write("MagicCardGameFlash") }
看起来这很简单,其实也为难很长一段时间。
来自3楼的推荐:http://q.pnq.cc/archives/443(一个更好的方案)
相关文章推荐
- flash调用js函数,IE6不执行的问题
- 开发中“错误: 意外地调用了方法或属性访问。” 和 第一行错误 的IE 两个问题( JQ 进行转义字符 , 分页JS 调用 时参数问题。)
- 利用JS解决ie6不支持max-width,max-height问题的方法
- JS Cookie 路径问题(发现在不同的目录下,调用同一个js方法来存储Cookie,到别的目录取不出或取出的值是不对的)
- HTML5的兼容问题以及调用js文件的方法
- 安装DZ时出现“UCenter 的URL地址不正确”错误的解决方案 和首页上部分插入flash图片调用的方法!非网上复制!
- IE不出现Flash激活框的小发现的js实现方法
- jsp无法调用内部js的方法的问题
- FLASH调用网页上的JS方法,以及FLASH全屏播放的方法
- flash调用js中的方法,让js传递变量给flash (兼容 IE & FF)
- Ext JS Grid在IE6 下宽度的问题解决方法
- [转].Net中调用Js方法问题归类
- JSP、AJax中文乱码问题解决,escape(), encodeURI(), encodeURIComponent(),js对参数连续两次调用 encodeURI(String) 方法
- 从一个窗体类调用另一个窗体类中方法,出现句柄错误问题
- AC_FL_RunContent.js的使用(IE中的Flash出现激活框的解决方法)
- JQuery Easyui引入easyui-lang-zh_CN.js后出现乱码的问题解决方法
- JS小数运算出现多为小数问题的解决方法
- 关于asp.net前台js调用后台方法的问题
- Flash读取XML文件的中文时出现乱码问题解决方法
- android中webview携带cookie以及webview所加载网页中js调用java方法问题