我遇到的问题才刚刚开始在ie8下发生。我的代码已经工作了一段时间,并且在firefox中仍能正常工作,但由于某种原因,原型只是停止为dom:loaded
调用我的事件监听器。
我通过document.observe("dom:loaded", callback);
经过一些调试(我讨厌ie的调试器!!!)我得出的结论是原型的fireContentLoadedEvent
(ln 4102)在dom加载之前被调用好(几乎在{{1之后) }})。
document.write("<script...")
时从处理程序调用 fireContentLoadedEvent
ie(见prototype.js line 4125)
!document.addEventListener
是否有任何了解这种机制的人对于它可能过早触发的原因有任何想法?
答案 0 :(得分:1)
我想出来了........... !!
IE中的,如果在页面加载期间更改任何元素的innerHTML
,则所有“延迟”脚本都会过早加载...
我的一个内联javascript程序在页面加载期间更改了元素的innerHTML
,并且延迟了此脚本为我解决了这个问题。
所以我需要记住的是:
在页面加载之前永远不会更改innerHTML
!