diff options
author | Joey Hess <joey@gnu.kitenet.net> | 2009-12-12 15:47:47 -0500 |
---|---|---|
committer | Joey Hess <joey@gnu.kitenet.net> | 2009-12-12 15:47:47 -0500 |
commit | ff422a1d8903251da3768bd994753c2b04154ce9 (patch) | |
tree | 77d9c0672ef0f0b61837683ec9ecdd13af68251f /underlays | |
parent | 5b48f1412e8117372af081c513b8c8a41176d4e7 (diff) | |
download | ikiwiki-ff422a1d8903251da3768bd994753c2b04154ce9.tar ikiwiki-ff422a1d8903251da3768bd994753c2b04154ce9.tar.gz |
Improve javascript onload handling.
I noticed the onload hook running twice sometimes when using chromium.
Change from using arguments.callee.done to a onload_done variable fixed it.
I guess that the callee differed in chromium.
Probably the cause of the problem is that chrome supports both
window.onload and document.addEventListener.
Diffstat (limited to 'underlays')
-rw-r--r-- | underlays/javascript/ikiwiki.js | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/underlays/javascript/ikiwiki.js b/underlays/javascript/ikiwiki.js index 1252f244f..aebc5cf7e 100644 --- a/underlays/javascript/ikiwiki.js +++ b/underlays/javascript/ikiwiki.js @@ -10,11 +10,13 @@ if (document.addEventListener) { // other browsers window.onload = run_hooks_onload; +var onload_done = 0; + function run_hooks_onload() { // avoid firing twice - if (arguments.callee.done) + if (onload_done) return; - arguments.callee.done = true; + onload_done = true; run_hooks("onload"); } |