Znaczniki dokumentu HTML
Znając pobieżnie część problemów związanych z HTML możemy bardziej
gruntownie poznać znaczniki organizacyjne.
Najważniejszym znacznikiem jest oczywiście <html>.
Znacznik nie posiada parametrów, jest parzysty. Otwiera i zamyka
dokument HTML. Stanowi jakby najbardziej zewnętrzne nawiasy obejmujące
całość treści dokumentu. Występuje tylko raz w dokumencie i jest jedynym
znacznikiem obowiązkowym (chociaż sprawdzić można, bez tego znacznika
dokumenty są prawidłowo rozpoznawane i interpretowane przez większość
przeglądarek.
Jedynym znacznikiem, który może wystąpić poza "nawiasami" <html>
może być tylko <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
3.2//EN">.
Jest to znacznik wskazujący na wersję języka HTML. Znacznik ten
umieszcza się przed <html> w pierwszym wierszu dokumentu. Ze
względu na szybki rozwój języka ostatnio staje się modny na stronach
WWW. Jak dotychczas przekazuję opis HTML zgodny ze standardem wersji 3,
która jest rozpoznawana praktycznie przez wszystkie przeglądarki
znacznik ten nie jest wymagany.
Wewnątrz klamer <html> mogą znajdować się następujące
strefy:
- identyfikacyjna - ograniczona znacznikami <head>
- właściwe dane - ograniczone znacznikami <body>
lub <frameset> jeżeli zawartość składa się
z zewnętrznych dokumentów ułożonych w ramkach, których może
być kilka. Ponieważ ramki tworzą swoistą filozofię i są bardzo
mocnym narzędziem do tworzenia stron większy ich opis zostanie
zamieszczony w oddzielnej części.
Wewnątrz znaczników <head> mogą znajdować się następujące
znaczniki:
- <title> - tekst, który znajduje się wewnątrz
znaczników <title> wyświetlany jest w górnym
pasku okna przeglądarki.
- <meta> - to grupa znaczników informacyjnych
o różnym przeznaczeniu. Oprócz poznanego wcześniej wyboru
strony kodowej, może być jeszcze stosowany w następujących
sytuacjach:
- <META NAME="Generator" CONTENT="nazwa
programu">,
<META NAME="Author"
CONTENT="Jan Kowalski">
- tego typu teksty wpisują edytory HTML - ogólnie NAME
to nazwa zmiennej, a CONTENT to jej wartość.
- <META HTTP-EQUIV="refresh" CONTENT=5
> - powoduje ponowne załadowanie dokumentu
po upływie 5 sekund
- <META HTTP-EQUIV="refresh" CONTENT=5
url="abc.htm"
> - powoduje załadowanie dokumentu abc.htm
po upływie 5 sekund
- <META NAME="keywords" content
="film kino kultura seans">
nazwa zmiennej keywords powoduje, że przeszukiwarki
użyją wyrazów oznaczonych w content jako
słów kluczowych do przeszukiwania. Taka forma znacznika
<META> jest godna zapamiętania jeżeli chcemy
ażeby nasz dokument był indeksowany przez przeglądarki
- <base> oznacza domyślny katalog, względem
którego działa dokument. Znaczenia nabiera, jeżeli dokument
przesuniemy w inne miejsce. W takim przypadku nie traci
referencji jeżeli odwołania w dokumencie adresujemy
względnie. Jeżeli przykładowo w dokumencie zastosowano
<base href="http://www.serwer/sciezka">
wtedy jeżeli w dokumencie będzie odwołanie
do x2.htm, zostanie ściągnięty plik
serwer/sciezka/x2.htm (a nie plik z bieżącego katalogu).
- <isindex> takiego znacznika w praktyce nie
spotkałem, ale istnieje w książkach. Podczas ładowania
dokumentu zadane zostaje pytanie o słowo kluczowe do
szukania, na który powinien zareagować skrypt CGI
umieszczony na serwerze. Wszystkie znane mi opisy tego
znacznika są identyczne, widocznie pochodzą z jednego
źródła.
- <nextid> jest to znacznik dla edytora html
informujący o kolejnym dokumencie z serii.
W praktyce spotyka się tylko pierwsze dwa znaczniki.
W części <head> mogą jeszcze pojawić się znaczniki, które także
są także w części <body> dokumentu, a mianowicie:
- <!---- komentarz --->
- <comment>komentarz</comment>
- <script>
Znacznik <body> ogranicza obustronnie treść dokumentu. Jest
parzysty i może być użyty tylko raz. Znacznik może mieć następujące
parametry:
- bgcolor domyślny kolor tła
- text domyślny kolor tekstu
- alink domyślny kolor aktywnych linków
- link domyślny kolor linków
- vlink domyślny kolor odwiedzonych już linków
- background plik graficzny będący tłem dokumentu
- bgproperties właściwości tła - tu można wpisać
bgproperties=fixed aby tło nie było przewijane
- leftmargin ustawienie lewego marginesu
- topmargin ustawienie górnego marginesu
W szczególności znacznik może wyglądać następująco:
<body text="white" bgcolor="black" alink="red"
link="gold" vlink="yellow" background="tlo.gif"
bgproperties=fixed topmargin=0 leftmargin=0>
Znacznik <body> może zawierać jeszcze określenie reakcji
na zdarzenia związane z dokumentem. Podczas takiego zdarzenia można
uaktywnić skrypt, tak więc argumentem powinny być instrukcje
napisane w domyślnym języku skryptu. Jeżeli takiego nie zdefiniowano
jest to Java. Zdarzenia mogą być następujące:
- blur - dany element przestaje być aktywnym
- click - stuknięto myszą w dany element
- change - zawartość elementu zmieniła się
- focus - element stał się aktywny
- load - element został załadowany
- mouseover - ruszono myszą ponad elementem
- select - element został wybrany
- submit - wciśnięto przycisk submit
- unload - element jest rozładowywany
Różne ze zdarzeń stosuje się do różnych elementów. Umieszczenie
skryptu obsługi zdarzenia przyporządkowywuje go do dokumentu, tu
najwłaściwsze są load i unload . Pozostałe bardziej
odnoszą się do rysunków i pól do wprowadzania danych. Do problemu
tego wrócę przy rozszerzeniu informacji o skryptach. Tu tylko pokażę
przykład:
<html>
<head>
<title>Test</title>
</head>
<body onload="alert('ladowanie')"
onunload="alert('rozladowanie')">
</body>
</html>
Opisując w HTML zdarzenia przed nazwą dodajemy przedrostek on..
oznaczający podczas, a wiec:
- onload="alert('ladowanie')" podczas ładowania wywoływana jest
funkcja języka Java alert() . Parametrem funkcji jest
tekst 'ladowanie'. Funkcja alert wyświetla
standardowy windowsowy dialog z napisem, którego treścią
jest parametr funkcji. Jeżeli więc dokument będzie ładowany
na ekranie pojawi się taki właśnie komunikat
- onunload="alert('rozladowanie')" podczas rozładowania (zamknięcie
okna przeglądarki, ładowanie nowego dokumentu) wywoływana jest
funkcja języka Java alert() z parametrem
'rozladowanie'.
Jeżeli akcja, która ma być wykonywana jest dłuższa niż tylko jedna
instrukcja, wtedy zazwyczaj definiuje się ją jako funkcję i umieszcza
w części <head>, natomiast pomiędzy znacznikami
<body> umieszcza się wywołanie funkcji.
Z dokumentem jako całością związany jest jeszcze nieparzysty znacznik
<bgsound>. Umieszczenie jego powoduje odtworzenie dźwięku
umieszczonego w pliku określonym w parametrach znacznika.
<BGSOUND SRC="dzwiek.wav" LOOP=5>
Umieszczając dźwięk w dokumentach html należy pamiętać
o następujących rzeczach:
- W zależności od rodzaju pliku, dźwięk może być na
poszczególnych komputerach odtworzony lub nie. jedynym
stuprocentowym standardem w środowisku Windows jest
.wav. Używanie innych plików (np. mp3)
wiąże się z ryzykiem, że oglądający dokument może mieć nie
zainstalowaną obsługę danego standardu.
- Należy też pamiętać, że pliku dźwiękowe są długie w stosunku
do samych dokumentów i oglądający zniecierpliwiony czekaniem
może po prostu zmienić stronę na inną.
- Większość przeglądarek podczas instalacji domyślnie pozostawia
ustawienia na nie odtwarzaj dźwięku, a rzadko kto
ustawienia zmienia.
- Podając nazwę pliku należy pamiętać o tym, że oglądający
może być pod innym systemem operacyjnym, inny system
może być na serwerze i strona działająca może przestać działać
po przeniesieniu na serwer. Szczegółowo opiszę to przy
linkach. Uwaga ta odnosi się do wszystkich znaczników odnoszących
się do plików, a więc np. do opisanych wcześniej
<body background="..."> i
<base="...">
Krzysztof Grzegorz Stoler
[spis treści]
|