[LavaScript] Не срабатывает обработчик window.onload?
От: Аноним  
Дата: 16.12.09 04:32
Оценка:
Привет Всем,
я новичок в JavaScript и не могу разобраться с одной проблемой. Подскажите, пожалуйста, в чем может быть дело.

Есть код (плагин для Google Chrome):
if (window.top.onload)
{
   var existingOnload = null;
   existingOnload = window.top.onload;
   window.top.onload = function (ev) {  // сюда не попадаем...      
      if (existingOnload) { existingOnload(ev); }
      setTimeout( Plugin.init , 1);        
   };
} else {
   Plugin.init();
}


На некоторых страницах (например, http://maps.yahoo.com/) срабатывает ветка if (window.top.onload), но не срабатывает функция
window.top.onload = function (ev) {        
    if (existingOnload) { existingOnload(ev); }
    setTimeout( Plugin.init , 1);        
};

Почему такое может быть? Не инициируется событие onload?

На странице http://maps.yahoo.com/ имеется javascript код:
window.onload=YAHOO.Maps.loaded; ...


но по идее должен выполниться он, а затем мой Plugin.init(); Тем не менее упраление не попадает в мою функцию window.top.onload = function (ev) {...}.

Ветка if (window.top.onload) добавлена в связи с тем, что на некоторых сайтах javascript в window.onload выполняет такой код:
objects = document.getElementsByTagName("object");
for (var i = 0; i < objects.length; i++) {
    objects[i].outerHTML = objects[i].outerHTML;
}


Моя цель сделать так, чтобы этот код отработал РАНЬШЕ моего вызова Plugin.init.

Заранее благодарен!

Environment:
Windows XP SP3
Google Chrome 4.0.249.30
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.