Chcę uruchomić funkcję po załadowaniu strony, ale nie chcę jej używać w <body>
tagu.
Mam skrypt, który uruchamia się, jeśli zainicjuję go w <body>
następujący sposób:
function codeAddress() {
// code
}
<body onLoad="codeAddress()">
Ale chcę go uruchomić bez <body onload="codeAddress()">
i próbowałem wielu rzeczy, np .:
window.onload = codeAddress;
Ale to nie działa.
Jak więc go uruchomić, gdy strona jest ładowana?
javascript
html
onload
Claes Gustavsson
źródło
źródło
window.onload = codeAddress
pocodeAddress()
jest zdefiniowany? Jeśli tak, to powinno działać. Czy na pewno nie ma błędu w innym miejscu?Odpowiedzi:
window.onload = codeAddress;
powinien działać - oto wersja demonstracyjna i pełny kod:źródło
Zamiast używać jQuery lub window.onload, natywny JavaScript przyjął kilka świetnych funkcji od czasu wydania jQuery. Wszystkie współczesne przeglądarki mają teraz swoją własną funkcję DOM bez użycia biblioteki jQuery.
Polecam to, jeśli używasz natywnego Javascript.
źródło
false
?)Biorąc odpowiedź Darina, ale styl jQuery. (Wiem, że użytkownik poprosił o javascript).
bieganie skrzypce
źródło
Alternatywne rozwiązanie Wolę to ze względu na zwięzłość i prostotę kodu.
Jest to anonimowa funkcja, w której nazwa nie jest określona. To, co się tutaj dzieje, polega na tym, że funkcja jest definiowana i wykonywana razem. Dodaj to na początku lub na końcu treści, w zależności od tego, czy ma zostać wykonane przed załadowaniem strony, czy wkrótce po załadowaniu wszystkich elementów HTML.
źródło
window.onload = function() {
... itd. nie jest świetną odpowiedzią.To prawdopodobnie zadziała, ale zepsuje również wszelkie inne funkcje, które już przechwytują to zdarzenie. Lub, jeśli inna funkcja zaczepi się o to zdarzenie po twoim, spowoduje to uszkodzenie twojego. Możesz więc spędzić wiele godzin później, próbując dowiedzieć się, dlaczego coś, co działało, już nie jest.
Bardziej solidna odpowiedź tutaj:
Używam kodu, którego nie pamiętam, żeby go przypisać autorowi.
Mam nadzieję że to pomoże :)
źródło
onload
użytkowanieWypróbuj readystatechange
gdzie są stany:
DOMContentLoaded
window.onload
Pokaż fragment kodu
źródło
Spójrz na skrypt domReady, który pozwala skonfigurować wiele funkcji, które będą wykonywane po załadowaniu DOM. Jest to w zasadzie to, co robi Dom ready w wielu popularnych bibliotekach JavaScript, ale jest lekki i można go zabrać i dodać na początku zewnętrznego pliku skryptu.
Przykładowe użycie
źródło
Window.onload będzie działał w następujący sposób:
źródło