Zlecenie wykonania JavaScript

Określanie, jaki JavaScript zostanie uruchomiony, kiedy

Kod CSS w edytorze tekstu, strona internetowa Technologia internetowa

iinspiracja / Getty Images





Projektowanie strony internetowej przy użyciu JavaScriptu wymaga zwrócenia uwagi na kolejność, w jakiej pojawia się Twój kod oraz na to, czy umieszczasz kod w funkcjach lub obiektach, co ma wpływ na kolejność, w jakiej kod jest uruchamiany.

Lokalizacja JavaScriptu na Twojej stronie internetowej

Ponieważ kod JavaScript na Twojej stronie działa w oparciu o określone czynniki, zastanówmy się, gdzie i jak dodać kod JavaScript do strony internetowej.



Istnieją zasadniczo trzy lokalizacje, do których możemy dołączyć JavaScript:

  • Bezpośrednio do nagłówka strony
  • Bezpośrednio do treści strony
  • Z programu obsługi zdarzeń/słuchacza

Nie ma znaczenia, czy JavaScript jest na stronie internetowej samodzielnie lub w zewnętrznych plikach powiązanych ze stroną. Nie ma również znaczenia, czy programy obsługi zdarzeń są na stałe zakodowane na stronie, czy dodane przez sam JavaScript (z wyjątkiem tego, że nie można ich uruchomić przed dodaniem).



Kod bezpośrednio na stronie

Co to znaczy powiedzieć, że JavaScript jest bezpośrednio w nagłówku lub treści strony? Jeśli kod nie jest zawarty w funkcji lub obiekcie, znajduje się bezpośrednio na stronie. W takim przypadku kod jest uruchamiany sekwencyjnie, gdy tylko plik zawierający kod zostanie załadowany wystarczająco, aby można było uzyskać dostęp do tego kodu.

Kod znajdujący się w funkcji lub obiekcie jest uruchamiany tylko wtedy, gdy ta funkcja lub obiekt jest wywoływany.

Zasadniczo oznacza to, że każdy kod w nagłówku i treści strony, który nie znajduje się w funkcji lub obiekcie, zostanie uruchomiony podczas wczytywania strony — jak tylko strona załadował się wystarczająco, aby uzyskać dostęp do tego kodu .

Ta ostatnia część jest ważna i wpływa na kolejność umieszczania kodu na stronie: każdy kod umieszczony bezpośrednio na stronie, który musi wchodzić w interakcję z elementami na stronie, musi się pojawić po elementy na stronie, od których jest zależny.



Ogólnie oznacza to, że jeśli używasz bezpośredniego kodu do interakcji z zawartością strony, taki kod powinien być umieszczony na dole treści.

Kod w ramach funkcji i obiektów



Kod wewnątrz funkcji lub obiektów jest uruchamiany przy każdym wywołaniu tej funkcji lub obiektu. Jeśli jest wywoływany z kodu, który znajduje się bezpośrednio w nagłówku lub treści strony, to jego miejsce w kolejności wykonywania jest faktycznie punktem, w którym funkcja lub obiekt jest wywoływana z kodu bezpośredniego.

Kod przypisany do obsługi zdarzeń i odbiorników

Przypisanie funkcji do modułu obsługi zdarzeń lub detektora nie powoduje uruchomienia funkcji w punkcie, w którym jest przypisana — pod warunkiem, że faktycznie przypisywanie samą funkcję i nie działa funkcję i przypisanie zwracanej wartości. (Dlatego na ogół nie widzisz tego () na końcu nazwy funkcji, gdy jest ona przypisywana do zdarzenia, ponieważ dodanie nawiasów uruchamia funkcję i przypisuje zwróconą wartość zamiast przypisywania samej funkcji.)



Funkcje, które są dołączone do programów obsługi zdarzeń i detektorów, są uruchamiane po wyzwoleniu zdarzenia, do którego są dołączone. Większość zdarzeń jest wywoływana przez użytkowników wchodzących w interakcję z Twoją stroną. Istnieją jednak pewne wyjątki, takie jak Załaduj zdarzenie w samym oknie, które jest wyzwalane po zakończeniu ładowania strony.

Funkcje dołączone do zdarzeń na elementach strony



Wszelkie funkcje dołączone do zdarzeń na elementach w obrębie samej strony będą działać zgodnie z działaniami każdego pojedynczego odwiedzającego — ten kod jest uruchamiany tylko wtedy, gdy wystąpi określone zdarzenie, które go wyzwoli. Z tego powodu nie ma znaczenia, czy kod nigdy nie zostanie uruchomiony dla danego użytkownika, ponieważ ten użytkownik oczywiście nie wykonał interakcji, która tego wymaga.

Wszystko to oczywiście zakłada, że ​​odwiedzający uzyskał dostęp do Twojej strony za pomocą przeglądarki, która ma JavaScript włączony.

Dostosowane skrypty użytkownika odwiedzającego

Niektórzy użytkownicy zainstalowali specjalne skrypty, które mogą wchodzić w interakcje z Twoją stroną internetową. Te skrypty działają po całym Twoim bezpośrednim kodzie, ale zanim dowolny kod dołączony do procedury obsługi zdarzeń ładowania.

Ponieważ twoja strona nic nie wie o tych skryptach użytkownika, nie masz możliwości dowiedzenia się, co te zewnętrzne skrypty mogą zrobić — mogą zastąpić dowolny lub cały kod, który dołączyłeś do różnych zdarzeń, do których przypisałeś przetwarzanie. Jeśli ten kod zastępuje programy obsługi zdarzeń lub detektory, odpowiedź na wyzwalacze zdarzeń uruchomi kod zdefiniowany przez użytkownika zamiast lub dodatkowo do kodu.

Chodzi o to, że nie można zakładać, że kod zaprojektowany do uruchomienia po załadowaniu strony będzie mógł działać w sposób, w jaki go zaprojektowałeś. Ponadto należy pamiętać, że niektóre przeglądarki mają opcje umożliwiające wyłączenie niektórych programów obsługi zdarzeń w przeglądarce, w którym to przypadku odpowiedni wyzwalacz zdarzeń nie uruchomi odpowiedniego modułu obsługi/odbiornika zdarzeń w kodzie.