Created
January 16, 2012 16:03
-
-
Save franz-josef-kaiser/1621531 to your computer and use it in GitHub Desktop.
Window onLoad triggers for all browsers
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* 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