IE6下Javascript第一次不执行,刷新后才执行
时间:
2009-9-28 - 分类:
JavaScript - 评论:
2 -
阅读:
1,907 次
前段时间在整理fckeditor的一个相关项目时候发现,编辑器里的iframe在第一次加载的显示不出来,显示空白,但是很奇怪的,刷新就可以正常显示了。一开始以为这只是IE6下iframe加载的bug,但是最后结果发现这是IE6下Javascript延迟加载的bug。
这个bug只存在于IE6。google搜索一番,目前对于此bug没有明确的定论,难以重现,但是经常的情况就是,有些脚本执行,IE6需要采用setTimeout延迟加载才可以正常的执行。我个人猜测的像类似iframe这些动态加载的项,可能会造成IE6出现这个问题,或者像不同的frame框架同时加载执行Javascript也可能导致。
解决的方法就是将你要执行的Javascript,放在setTimeout(”,0)里面,这样IE6就可以正常运行了。
此外,调试的时候还发现,如果在代码中加入一个alert,Javascript也会被执行,但是去掉alert代码又不会执行,IE6真是强大的存在啊。
试过另外一种方式了吗?插入一个alert后会执行吗?
兄弟啊,我已经被这个问题折磨了好几天了, setTimeout 0 也不行啊,100也不行啊,我要崩溃了。
别的浏览器也正常,IE6下非要刷新一下,活着有什么意思啊。