我确信我并不完全理解这个问题,但我们似乎在我的项目中看到了IE9上的奇怪行为,这与通过调用document.write注入的JavaScript的无序执行有某种关系,例如:
document.write('<scr'+'ipt type="text/javascript" src="'+file1+'"></src'+'ipt>');
document.write('<scr'+'ipt type="text/javascript" src="'+file2+'"></src'+'ipt>');
document.write('<scr'+'ipt type="text/javascript" src="'+file3+'"></src'+'ipt>');我有限的谷歌研究表明,IE9将以不同于其他浏览器(特别是火狐和Chrome)的方式执行以这种方式注入的脚本。是否有更好的方法来实现我们的目标,这将确保所有浏览器的执行顺序相同?
我回想一下:我们并不真正关心所有的浏览器,只有Chrome和IE9。
发布于 2011-08-22 21:08:48
使用脚本加载器(如我编写的脚本加载器:LABjs),它将规范跨不同浏览器加载的所有不同的怪癖。还有好处:它没有使用可怕的document.write()。LABjs将允许异步加载所有脚本(并行),但确保它们以正确的顺序执行。听起来基本上就是你想要的。
发布于 2011-08-19 19:20:20
我想您可以将其中一个的onload事件链接起来,以启动另一个事件的加载:
var newJS= document.createElement('script');
newJS.onload=function() {alert("done")} //or call next load function
newJS.src="..."
document.body.appendChild(newJS)https://stackoverflow.com/questions/7126270
复制相似问题