Zielony Smok - logo witryny

Znacznik HTML5 <script>

Znacznik HTML5 <script></script> służy do umieszczenia skryptu na stronie.

Znacznik zawsze musi zawierać część otwierającą i część zamykającą. Samozamykanie <script/> jest niedozwolone.

Lokalizacja skryptu

Sam skrypt może być umieszczony inline albo w oddzielnym pliku.

Gdy skrypt jest umieszczony inline wtedy cała zawartość skryptu mieści pomiędzy znacznikiem otwierającym i zamykającym.

Jeżeli skrypt jest umieszczony w oddzielnym pliku, wtedy atrybut src znacznika <script src="…"></script> określa położenie pliku skryptu.

Łączenie w jednym znaczniku skryptu inline z atrybutem src jest niedozwolone.

Na stronie może być więcej niż jeden skrypt.

Położenie znacznika na stronie

Znacznik <script></script> najczęściej umieszczany jest w elemencie <head></head>. Tak umieszczony znacznik należy do matadanych.

Znacznik może też być położony w dowolnym miejscu elementu <body>. Wtedy należy do treści.

Ponieważ elementy na stronie HTML5 są czytane i parsowane sekwencyjnie i synchronicznie i tylko jeden raz, należy zapewnić, aby skrypt odwoływał się wyłącznie do elementów, zmiennych i obiektów utworzonych wcześniej, a więc już znanych.

Sekwencyjność oznacza wczytywanie kolejno element po elemencie, przy czym element następny może być wczytany dopiero po zakończeniu wczytywania i przetwarzania elementu poprzedniego.

Synchroniczność oznacza zachowanie sekwencyjnosci przy komunikacji dwustronnej. Jest to sytuacja ‘grzecznych’ rozmówców. Najpierw mówi jeden. Dopiero gdy skończy mówi drugi, itd.

Atrybuty znacznika <script>

Atrybuty znacznika <script>
Atrybut Opis
type Wskazuje typ MIME i język skryptu. Jest opcjonalny. Jeśli nie występuje, domyślnie przyjmowany jest type="text/javascript"
src Wskazuje położenie pliku ze skryptem, czyli adres URL skryptu, np. src="scripts/auto.js"
defer Atrybut defer działa tylko razem z atrybutem src. Wskazuje przeglądarce, aby niezależnie od położenia skryptu oznaczonego tym atrybutem, skrypt ten wykonała po wczytaniu i zinterpretowaniu wszystkich innych elementów i skryptów nie mających tego atrybutu.
async Atrybut async działa tylko razem z atrybutem src. Wskazuje, że skrypt można wykonać asynchronicznie, czyli w dowolnym momencie według uznania przeglądarki. Atrybutem tym oznacza się zazwyczaj skrypty nie odwołującej się do elementów strony czy innych skryptów. Najczęściej są to skrypty dotyczące statystyk stron, np. liczniki odwiedzin, itd.
charset Atrybut charset działa tylko razem z atrybutem src. Wskazuje kodowanie pliku skryptu.

Przykłady

Atrybut type

<script type="text/javascript">
...
</script>

Atrybut src

<script type="text/javascript" src="scripts/autos.js"></script>

Atrybut defer

<script type="text/javascript" src="scripts/autos.js" defer></script>

Atrybut async

<script type="text/javascript" src="scripts/autos.js" async></script>

Atrybut charset

<script type="text/javascript" src="scripts/autos.js" charset="UTF-8" async></script>