2009-10-06 16 views
6

Ich habe ein Skript, das zu einer unbekannten Zeit in eine unbekannte Seite eingefügt wird. Ist es möglich, von diesem Skript zu unterscheiden, ob window.onload bereits ausgelöst wurde?Wurde window.onload schon ausgelöst?

Ich habe keine Kontrolle über die Host-Seite. Ich kann keine Markups oder Skripte hinzufügen. Ich weiß nur, dass mein Skript irgendwann in die Seite eingefügt wird. Es könnte vor window.onload oder danach sein; und ich muss herausfinden, auf welcher Seite dieses Ereignisses ich bin.

+0

Ich finde den Teil "unbekannte Zeit" neugierig. Ist das ein Bookmarklet? Dynamische '

1

Aktualisiert Antwort: Look at this site. Er einen Trick verwendet, indem zu sehen, ob das letzte Element von document.getElementsByTagName ("*") definiert ist oder nicht. Es scheint in Opera und IE zu funktionieren.


Ursprüngliche Antwort: Sie können nicht überprüfen, aber Sie tun können:

window.setTimeout(function() { 
    // do your stuff 
}, 0); 

Das Ihre Sachen auf jeden Fall tun wird, nachdem die Seite geladen wurde.

+0

Das wird die Funktion ausführen, bevor das DOM in Opera bereit ist, und möglicherweise in IE IE. Siehe http://remysharp.com/demo/onload.php für das IE - Problem –

+0

Ich habe meine Antwort mit neuen Informationen heute gefunden aktualisiert –

+0

Nice find. Ich möchte diese Lösung durch die Wäsche laufen, sehen, wie es funktioniert. –

Verwandte Themen