Привет Всем,
я новичок в 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