写了一个swf嵌入html页面中作跨域ajax提交使用,可是发现在IE内核的遨游,360浏览器中第一次载入可以运行,第二次则报对象没有该方法的错误。
google了一下,基本是这些浏览器处理缓存的问题,在swf已存在本地缓存时初始化第一帧的时候会出问题,解决方法1:在嵌入swf处加上?+Math.random()不管用,按照方法2,将

ExternalInterface.addCallback(“ajax”, ajax);

延迟50毫秒执行

setTimeout(function():void{
ExternalInterface.addCallback(“ajax”, ajax);
}, 50);

这样就解决了。。

以前也遇到过,如果在flex里写一as project,swf没有规定固定大小,而是在第一帧运行代码中动态获取stage的宽高的时候,在遨游等浏览器中第二次浏览的时候布局会乱,因为获得的stage宽高都是0,应该也是这个道理,我恨这些二手浏览器啊。

相关日志

  • 暂无相关日志