Navrhování vaší webové stránky pomocí JavaScriptu vyžaduje pozornost na pořadí, ve kterém se váš kód objeví a zda zapouzdřujete kód do funkcí nebo objektů, které ovlivňují pořadí, ve kterém kód běží.
Umístění JavaScriptu na vaší webové stránce
Protože se JavaScript na vaší stránce spustí na základě určitých faktorů, zvažte, kde a jak přidat JavaScript na webovou stránku.
V zásadě existují tři místa, do kterých můžeme připojit JavaScript:
- Přímo do hlavičky stránky
- Přímo do těla stránky
- Od obsluhy / posluchače události
Nezáleží na tom, zda je JavaScript na webové stránce sám nebo v externích souborech spojených se stránkou. Nezáleží také na tom, zda jsou obsluhy událostí na stránce pevně zakódovány nebo přidány samotným skriptem JavaScript (kromě toho, že je nelze spustit před přidáním).
Kód přímo na stránce
Co to znamená říci, že JavaScript je přímo v hlavě nebo těle stránky? Pokud kód není uzavřen ve funkci nebo objektu, je přímo na stránce. V tomto případě se kód spustí postupně, jakmile se soubor obsahující kód načte natolik, aby byl tento kód přístupný.
Kód, který je uvnitř funkce nebo objektu, se spouští, pouze když je tato funkce nebo objekt volána.
V podstatě to znamená, že jakýkoli kód uvnitř hlavy a těla vaší stránky, který není uvnitř funkce nebo objektu, se spustí při načítání stránky - jakmile se stránka načte se nahrál dostatečně pro přístup k tomuto kódu.
Tento poslední bit je důležitý a ovlivňuje pořadí, ve kterém umístíte svůj kód na stránku: musí se objevit jakýkoli kód umístěný přímo na stránce, který musí interagovat s prvky na stránce. po prvky na stránce, na které závisí.
Obecně to znamená, že pokud k interakci s obsahem vaší stránky používáte přímý kód, měl by být takový kód umístěn na spodní část těla.
Kód v rámci funkcí a objektů
Kód uvnitř funkcí nebo objektů je spuštěn při každém vyvolání této funkce nebo objektu. Pokud je vyvolán z kódu, který je přímo v hlavě nebo těle stránky, pak jeho místo v exekuční příkaz je ve skutečnosti bod, ve kterém je funkce nebo objekt vyvolán z přímého kód.
Kód přiřazen zpracovatelům událostí a posluchačům
Přiřazení funkce manipulátoru událostí nebo posluchači nevede k tomu, že funkce bude spuštěna v místě, kde je přiřazena - za předpokladu, že jste skutečně přiřazení funkce sama o sobě a nefunguje funkce a přiřazení vrácené hodnoty. (To je důvod, proč obvykle nevidíte () na konci názvu funkce, když je přiřazen k události od přidání symbolu závorky spouští funkci a přiřazují vrácenou hodnotu namísto přiřazení funkce sám.)
Funkce, které jsou připojeny ke zpracovatelům událostí a posluchačům, se spustí, když je spuštěna událost, ke které jsou připojeny. Většina událostí je vyvolána návštěvníky, kteří na vaši stránku reagují. Existují však některé výjimky, například zatížení událost v samotném okně, která se spustí po dokončení načítání stránky.
Funkce připojené k událostem na prvcích stránky
Všechny funkce připojené k událostem na prvcích v rámci samotné stránky se budou spouštět podle akcí každého jednotlivého návštěvníka - tento kód se spustí pouze v případě, že dojde ke spuštění určité události. Z tohoto důvodu nezáleží na tom, zda se kód pro daného návštěvníka nikdy nespustí, protože tento návštěvník zjevně neprovedl interakci, která to vyžaduje.
To vše samozřejmě předpokládá, že váš návštěvník vstoupil na vaši stránku pomocí prohlížeče JavaScript povoleno.
Přizpůsobené uživatelské uživatelské skripty
Někteří uživatelé nainstalovali speciální skripty, které mohou ovlivňovat vaši webovou stránku. Tyto skripty jsou spuštěny po všech vašich přímých kódech, ale před jakýkoli kód připojený k manipulátoru události zatížení.
Vzhledem k tomu, že vaše stránka o těchto uživatelských skriptech neví, nemůžete vědět, co by tyto externí skripty mohly udělat - mohou přepsat kterýkoli nebo celý kód, který jste připojili k různým událostem, které jste přiřadili zpracovává se. Pokud tento kód přepíše obslužné rutiny událostí nebo posluchače, spustí odpověď na spouštěče událostí kód definovaný uživatelem namísto nebo navíc k vašemu kódu.
Výchozí bod je zde, že nemůžete předpokládat, že kód určený ke spuštění po načtení stránky bude moci spustit způsob, jakým jste jej navrhli. Kromě toho si uvědomte, že některé prohlížeče mají možnosti, které umožňují deaktivaci některých obsluhy událostí v rámci prohlížeč, v takovém případě příslušná spouštěcí událost nespustí příslušný obslužný program události / posluchače ve vašem prohlížeči kód.