文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>【记录】用js调用flash的方法,IE6-8出现的问题

【记录】用js调用flash的方法,IE6-8出现的问题

时间:2011-05-08  来源:jelle

前几天项目有个功能,必须使用js去调用flash的方法,来改变flash的内部状态。

其实其他浏览器都挺好。唯独IE6-8会出现问题。使用下面代码!

    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。这样就不能调用。

最后的解决方法,使用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")
        }

看起来这很简单,其实也为难很长一段时间。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载