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.master
parent
5b48f1412e
commit
ff422a1d89
|
@ -3,6 +3,7 @@ ikiwiki (3.20091203) UNRELEASED; urgency=low
|
|||
* cvs: Add missing bit to Automator.
|
||||
* Add complete Spanish basewiki translation done by Fernando Gonzalez de
|
||||
Requena.
|
||||
* Improve javascript onload handling.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Wed, 02 Dec 2009 17:22:21 -0500
|
||||
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue