У меня проблема, которая только-только началась с ie8. мой код работает некоторое время и по-прежнему отлично работает в firefox, но по какой-то причине прототип просто прекратил называть мои прослушиватели событий для dom:loaded
.fireContentLoadedEvent вызывается преждевременно, т. Е.
я прикрепить их с помощью document.observe("dom:loaded", callback);
после некоторой отладки (я ненавижу отладчик в IE !!!) я пришел к выводу, что загружается прототип fireContentLoadedEvent
(перло 4102) вызываются задолго до йота (почти сразу после document.write("<script...")
).
fireContentLoadedEvent
вызывается из обработчика когда !document.addEventListener
т.е. (см prototype.js линия 4125)
...
if (document.addEventListener) {
...
} else {
document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");
$("__onDOMContentLoaded").onreadystatechange = function() {
if (this.readyState == "complete") {
this.onreadystatechange = null;
fireContentLoadedEvent();
}
};
}
...
делает кто понимает этот механизм есть какие-либо идеи относительно того, почему это может вызвать преждевременно?