Hi all,
I'm a beginner in JavaScript and can not figure out why my code is not executed.

I have the following JS code (in my Google Chrome plugin):
Code:
if (window.top.onload) {
   var existingOnload = null;
   existingOnload = window.top.onload;
   window.top.onload = function (ev) {// never get here
     if (existingOnload) { existingOnload(ev); }
     setTimeout( Plugin.init , 1);        
   };
} else {
  Plugin.init();
}
On some sites (e.g. http://maps.yahoo.com/) execution hits if (window.top.onload) {...} branch, but function
Code:
window.top.onload = function (ev) {// never get here
   if (existingOnload) { existingOnload(ev); }
   setTimeout( Plugin.init , 1);        
};
isn't executed nevertheless! Why? Event window.top.onload is not fired?

There's following code on http://maps.yahoo.com/ :
Code:
window.onload=YAHOO.Maps.loaded; ...
This code should be executed and after that main. Nevertheless execution flow doesn't get into my function window.top.onload = function (ev) {...}

The "if (window.top.onload) {...}" branch was added because of in some sites javascript in window.onload performs actions like this:
Code:
objects = document.getElementsByTagName("object");
for (var i = 0; i < objects.length; i++)
{
   objects[i].outerHTML = objects[i].outerHTML;
}
My goal is to guarantee that this code will be completely executed BEFORE my Plugin.init() invocation.

Thanks in advance!

Environment:
Windows XP SP3
Google Chrome 4.0.249.30