var Test1 = (function () {
var oldWinOnLoad = false;
function init () {
};
(function () {
oldWinOnLoad = window.onload;
window.onload = function () {
if( typeof (oldWinOnLoad) == 'function' ) {
oldWinOnLoad();
}
init();
}
})();})();
onload wartet nicht nur bis der DOM-Baum erstellt wurde, sondern darüber hinaus bis alle Ressourcen geladen wurden. Außerdem hat deine Methode den Nachteil, dass ein später eingebundenes Skript den onload-Handler wieder überschreiben kann.
Ich benutze ein ähnliches Grundgerüst. Das hat den Vorteil, dass es Abhängigkeiten der Ladereihenfolge auflöst. Hat aber den Nachteil, dass es HTML5 ist und mit älteren Browser seine Probleme haben könnte. Demhingehen muss folgender Code also noch angepasst werden.
[DOM Level 3 Events](http://www.w3.org/TR/DOM-Level-3-Events/)
~~~javascript
var Test1 = (function () {
function init () {
};
document.addEventListener("DOMContentLoaded", init);
})();