![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
|
function addOnload(onloadFunc) { // based on http://answers.google.com/answers/threadview?id=510976 if(this.addEventListener) { this.addEventListener("load", onloadFunc, false); } else if(this.attachEvent) { this.attachEvent("onload", onloadFunc); } else { var onloadOld = this.onload; this.onload = function() { onloadOld(); onloadFunc(); } } } addOnload(function() { alert('FUNC'); }); |
#2
| |||
| |||
|
|
Statt |this| sollte man eher |window| verwenden, denn |this| kann je nach Ort des Aufrufes von addOnload auch etwas anderes als window sein. |
|
Dann kann es (zumindest generell) passieren, das <body onload nicht gesetzt ist, so dass bei deinem Ansatz dann onloadOld auf null gesetzt wird, aber trotzdem versucht wird, onloadOld() aufzurufen. Ein Check if (onloadOld) { onloadOld(); } sollte helfen: |
![]() |
| Thread Tools | |
| Display Modes | |
| |