2009-10-06 18 views
6

Mam skrypt, który zostanie wstawiony na nieznaną stronę w nieznanym czasie. Czy z tego skryptu można stwierdzić, czy uruchomił się window.onload?Czy jeszcze uruchomiono window.onload?

Nie mam kontroli nad stroną hosta. Nie mogę dodać do niego żadnych znaczników ani skryptów. Wiem tylko, że mój skrypt zostanie w pewnym momencie wstawiony na stronę. Może to być przed window.onload lub after; i muszę wykryć, po której stronie tego wydarzenia się znalazłem.

+0

Część "nieznany czas" jest ciekawa. Czy to jest bookmarklet? Dynamiczne '

1

Updated Odpowiedź: Look at this site. Używa trick widząc jeśli ostatni element document.getElementsByTagName ("*") jest zdefiniowana lub nie. Wydaje się działać w Operze i IE.


Original Odpowiedź: Nie można sprawdzić, ale można to zrobić:

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

Że zrobi swoje rzeczy na pewno po załadowaniu strony.

+0

To będzie uruchamiało funkcję zanim DOM będzie gotowy w Operze i może spowodować błąd w IE. Patrz http://remysharp.com/demo/onload.php dla problemu IE –

+0

Zaktualizowałem swoją odpowiedź, dodając nowe informacje dzisiaj –

+0

Ładne znalezisko Chcę uruchomić to rozwiązanie przez pranie, zobacz, jak to działa. –

Powiązane problemy