Alex: Skript nicht erst ausführen, wenn Seite vollständig geladen ist

Beitrag lesen

Hallo,

ich höre in letzter Zeit immer öfter von "Unobtrusive Javascript". Eine Forderung dessen ist, dass JavaScript vollständig getrennt von HTML und in einer externen Datei ausgelagert sein soll - so wie man es idealerweise auch mit CSS macht.

So was ...

<a href="http://example.com/" onclick="popup('http://example.com/'); return false">Example</a>

... soll vermieden werden. Stattdessen soll das extern z.B. so gemacht werden:

document.getElementById('mylink').onclick = function()  
   {  
    popup(this.href);  
    return false;  
   }  

Mein Problem ist nun: ich kriege das JavaScript erst auf das HTML-Dokument angewendet, wenn die Seite vollständig geladen ist (z.B. mit window.onload).

Hier ist mal ein Beispiel zur Veranschaulichung: js-test-1.html
Erst wenn das Bild geladen ist, wird der Link im Popup geöffnet.

Möglich scheint es aber zu sein, dass das JavaScript auch schon vor dem vollständigen Laden ausgeführt wird. Mit jQuery geht es nämlich: js-test-2.html (zum Nachvollziehen Cache leeren)

Die Frage ist nur: wie (machen die das)?

Alex