A better alternative to window.onload

This code can be used as a better alternative to window.onload. We use main as the function from where the execution begins. We also have a __app_started varible which tracks if main has been called so that it is not called more than once. Basically by this technique main gets called the moment body has been completed. If you use window.onload it waits till all the images and CSS have been loaded and in most case that can really be a while.
var __app_started = false;
if(document.addEventListener) document.addEventListener("DOMContentLoaded", main, false);
else
{
document.write("<scr" + "ipt id=__ie_onload defer src=javascript:void(0)><\/scri" + "pt>");
var script = document.getElementById("__ie" + "_onlo" + "ad");
script.onreadystatechange = function()
{
if(this.readyState == "complete") main();
}
}

window.onload = main; // If all else fails

function main()
{
if(__app_started) return; // We don't want to call main more than once.

//App logic goes here

__app_started = true;
}

Comments

Anonymous said…
Nice,still works, thanks a lot.

Popular posts from this blog

The best mobile development platform for hobbyist programmer

And yet more invites for joost

Using Voicemail with Airtel Prepaid Karnataka