molily: zwei Scripts mit window.onload - wie umgehen?

Beitrag lesen

Hallo,

Im Internet fand ich eine mögliches Problem, nämlich dass man nicht zwei Scripts mit window.onload Funktion einbinden kann, da die Seite sich ja nur einmal lädt. Leider habe ich kaum Ahnung von JavaScripts, alelrdings hat auch das Durchforsten vieler verschiedener Seiten zu dem Thema zu keiner Lösung geführt. Vielleicht weiß ja hier jemand einen Rat?

Unter window.onload kann nur eine Funktion gespeichert werden. Die kann natürlich mehrere weitere Funktionen aufrufen.

window.onload = function () {  
  initScript1();  
  initScript2();  
};

Das ist das sogenannte traditionelle Event-Handling. Du kannst besser das flexiblere W3C DOM Events verwenden:

window.addEventListener('load', initScript1, false);  
window.addEventListener('load', initScript2, false);

So müssen beide Scripte nicht voneinander wissen.

Siehe auch DOMContentLoaded.


> function tabberAutomaticOnLoad(tabberArgs) {  
>   var oldOnLoad = window.onload;  
>   if(typeof window.onload != 'function'){  
>     window.onload = function(){  
>       tabberAutomatic(tabberArgs);  
>     };  
>   } else {  
>     window.onload = function(){  
>       oldOnLoad();  
>       tabberAutomatic(tabberArgs);  
>     };  
>   }  
> }

Übrigens unterstützt dieses Script bereits mehrere Zuweisungen an onload. Wenn vorher window.onload gesetzt wurde, so erzeugt dieses Script eine neue Funktion (JavaScript-Closure), die die alte Handlerfunktion einschließt und aufruft.

Mathias