Szkielet dokumentu#
Skrypt#
Deklaracja zewnętrzna (z pliku):
<script type="text/javascript" src="ścieżka dostępu"></script>
Deklaracja wewnętrzna:
<script type="text/javascript">instrukcje</script>
Polecenie pozwala wstawić dowolną liczbę skryptów na stronie (zarówno w sekcji head
jak i body
).
Specjalne atrybuty elementu script
:
src
- określa lokalizację (adres względny lub bezwzględny) zewnętrznego skryptucharset
- określa stronę kodową skryptu zewnętrznego (z pliku)type
- określa w jakim języku napisano skrypt i przesłania domyślnie ustawiony język skryptowy. Stosując ten atrybut autorzy muszą sami określić jego wartość, domyślna wartość nie istnieje.language
- określa wersję stosowanego językadefer
- odracza wykonanie skryptu do czasu załadowania strony ze wszystkimi zasobami
Obecnie atrybut LANGUAGE
jest zdeprecjonowany przez specyfikację HTML 4.01 - zaleca się stosowanie atrybutu type
.
Najpopularniejszym językiem skryptowym jest JavaScript. Istnieją inne języki, np. VisualBasicScript (obsługiwany tylko przez przeglądarki Microsoftu), dla którego należy określić odpowiedni typ (type="text/vbscript"
).
Przykład użycia kilku skryptów na stronie:
...
<head>
...
<script type="text/javascript" src="www.strona/skrypt1.js"></script>
<script type="text/javascript">
var a = 10;
var b = 3;
var wynik = a + b;
alert("Wynik a+b: " + wynik);
</script>
...
</head>
<body>
...
<script type="text/javascript">
alert("Kolejny skrypt");
</script>
<script type="text/javascript" src="www.strona/skrypt2.js"></script>
<script type="text/javascript" src="www.strona/skrypt3.js"></script>
...
</body>
Dla osób wyłączających przetwarzanie kodu skryptowego należy podać treść alternatywną - ewentualnie przestrzec przed ograniczeniami wynikającymi z blokady. Służy do tego celu specjalny element noscript
.
Domyślny język skryptowy#
Specyfikacja HTML 4.01 wskazuje, że autorzy stron mogą określić domyślnie stosowany język skryptowy od razu w sekcji head
(ewentualnie w nagłówkach HTTP samego serwera), bez konieczności podawania atrybutu type
w każdym elemencie script
:
<head> <meta http-equiv="content-script-type" content="rodzaj"> </head>
gdzie jako "rodzaj"
podajemy nazwę stosowanego języka np. text/javascript
, text/vbscript
, text/tcl
.
Programy klienckie (np. przeglądarki) powinny określić domyślny język skryptowy dla dokumentu zgodnie z następującymi regułami (od najwyższego do najniższego priorytetu):
- Jeśli jakaś deklaracja META zawiera
content-script-type
, język skryptowy wyznacza ostatnia definicja. - W przeciwnym razie, jeśli nagłówki HTTP definiują
content-script-type
, ostatni z nich ustawia język skryptowy.
Dokumenty, w których nie określono domyślnego języka skryptowego są błędne. Programy klienckie mogą w takim przypadku same określić języka, ale nie jest to wymagane.
W praktyce najczęściej stosuje się definiowanie języka skryptowego lokalnie, czyli dla każdego elementu script
określamy atrybut type
.
Samo pisanie skryptów jest zagadnieniem bardzo rozległym, obejmującym większy zakres niż (X)HTML oraz CSS razem wzięte. W planach mam utworzenie takiego profesjonalnego kursu, zobaczymy ile uda się zrealizować.