]> sipb.mit.edu Git - ikiwiki.git/blobdiff - underlays/javascript/ikiwiki.js
Improve javascript onload handling.
[ikiwiki.git] / underlays / javascript / ikiwiki.js
index 14ddd0745a60abffb28aaec298488a8036d81025..aebc5cf7ed66395ec8277a1e748d29184226f960 100644 (file)
@@ -1,9 +1,23 @@
 // ikiwiki's javascript utility function library
 
 var hooks;
+
+// Run onload as soon as the DOM is ready, if possible.
+// gecko, opera 9
+if (document.addEventListener) {
+       document.addEventListener("DOMContentLoaded", run_hooks_onload, false);
+}
+// other browsers
 window.onload = run_hooks_onload;
 
+var onload_done = 0;
+
 function run_hooks_onload() {
+       // avoid firing twice
+       if (onload_done)
+               return;
+       onload_done = true;
+
        run_hooks("onload");
 }