一例flash在Safari浏览器显示异常的bug
问题症状: 某个项目中,需要调用window.open()打开一个新窗口,里面会加载一个包含flash的页面。 问题原因的查找: 尝试过很多方法,包括以下:
但这些都没有从根本上杜绝bug的出现。 另外还发现:
当然上面不排除很多偶然因素,仅凭这两点也还不够充分解释问题的原因。 问题的解决: 最后还是拿出了杀手锏:setTimeout()。 window.onload = function() { window.setTimeout(function() { document.body.innerHTML = ('<embed ... ></embed>'); },100); };经过反复的测试,bug在这种写法下暂未再出现:窗口弹出后,flash能够自动显示了,无需再去点击窗口或做其它什么操作了。 暂时可以认为bug出现的几率为0%了。 PS:实际中因为其它需要,最后setTimeout()中加载flash的代码改为了使用swfobject动态加载。 结论: 关键是证实了这个问题:延迟一定的时间再加载flash,基本上可以消除此bug的症状。 参考: http://code.google.com/p/swfobject/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |