Skip to content

Instantly share code, notes, and snippets.

@franz-josef-kaiser
Created January 16, 2012 16:03
Show Gist options
  • Save franz-josef-kaiser/1621531 to your computer and use it in GitHub Desktop.
Save franz-josef-kaiser/1621531 to your computer and use it in GitHub Desktop.
Window onLoad triggers for all browsers
/**
* Window onLoad Init triggers
* Use to load all functions you need on window.onload w/o the need for jQuery
*
* @author Dean Edwards/Matthias Miller/John Resig
* @link http://stackoverflow.com/a/3144510/376483
*/
function init()
{
// quit if this function has already been called
if ( arguments.callee.done )
return;
// flag this function so we don't do the same thing twice
arguments.callee.done = true;
// kill the timer
if ( _timer )
clearInterval( _timer );
// DO STUFF
};
/**
* for Mozilla/Opera9
*/
if ( document.addEventListener )
{
document.addEventListener( "DOMContentLoaded", init, false );
}
/**
* for Internet Explorer
*/
/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function() {
if (this.readyState == "complete") {
init(); // call the onload handler
}
};
/*@end @*/
/**
* for Safari
*/
if ( /WebKit/i.test( navigator.userAgent ) ) // sniff
{
var _timer = setInterval( function()
{
if ( /loaded|complete/.test( document.readyState ) )
{
// call the onload handler
init();
}
}, 10);
}
/**
* Other Browsers
*/
window.onload = init;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment