javascript. pierwsze starcie helion, ebooki
[ Pobierz całość w formacie PDF ]
4
JavaScript. Pierwsze starcie
Rozdział 4. Zdarzenia ....................................................................................... 37
Kiedy coś się zdarza? ..................................................................................................... 37
Zmiany standardów obsługi zdarzeń w JavaScripcie ...................................................... 37
Sposób pierwszy, najstarszy ..................................................................................... 38
Sposób drugi, „standardowy” ................................................................................... 38
Sposób trzeci — nowy standard ............................................................................... 39
Więcej o zdarzeniach myszy .......................................................................................... 41
Zdarzenie jako obiekt ..................................................................................................... 43
Zdarzenia klawiatury ...................................................................................................... 46
Test ................................................................................................................................. 47
Rozdział 5. Okna dialogowe ............................................................................. 49
Rodzaje okien dialogowych w JavaScripcie ................................................................... 49
Okno alert ....................................................................................................................... 49
Okno confirm ................................................................................................................. 50
Okno prompt ................................................................................................................... 51
Funkcja showModalDialog() .......................................................................................... 52
Funkcja showModelessDialog() ..................................................................................... 54
Okna tworzone funkcją open() ....................................................................................... 55
Test ................................................................................................................................. 57
Rozdział 6. Operacje związane z czasem ........................................................... 59
Data i czas — obiekt Date .............................................................................................. 59
Obliczanie dnia tygodnia .......................................................................................... 60
Kalendarz z tabelki ................................................................................................... 62
Timer w JavaScripcie ..................................................................................................... 64
Test ................................................................................................................................. 66
Rozdział 7. Przegląd obiektów JavaScriptu ....................................................... 67
Obiekt Math, czyli działania matematyczne ............................................................... 67
Obiekt String, czyli manipulacje tekstem ....................................................................... 68
Weryfikacja poprawności wypełnienia formularzy .................................................. 69
Wyrażenia regularne ................................................................................................ 71
Obiekt Boolean, czyli prawda i fałsz .............................................................................. 73
Obiekt Screen, czyli ekran .............................................................................................. 73
Pozycjonowanie wyświetlanych okien ..................................................................... 74
Obiekt history, czyli gdzie już byłeś ............................................................................... 75
Nawigacja po historii przeglądarki z poziomu strony Web ...................................... 75
Obiekt location, czyli gdzie jesteś teraz ............................................................................. 76
Okresowe odświeżanie strony Web z dynamiczną zawartością ............................... 77
Test ................................................................................................................................. 78
Rozdział 8. Obiekty DOM HTML w skryptach .................................................... 79
Koncepcja DOM HTML ................................................................................................ 79
Obiekt Window .............................................................................................................. 80
Obiekt document ............................................................................................................ 83
Proste menu .............................................................................................................. 84
Operacje na znacznikach kontekstu (ciasteczkach) .................................................. 86
Obiekt Navigator ............................................................................................................ 87
Sprawdzanie wtyczek zainstalowanych w przeglądarce ........................................... 87
Kontrolki formularzy na stronie Web ............................................................................. 89
Kontrolki tworzone za pomocą znacznika <input> .................................................. 90
Lista rozwijalna <select> .......................................................................................... 93
Kilka zdań o wysyłaniu formularza .......................................................................... 94
Test ................................................................................................................................. 95
Spis treści
5
Rozdział 9. Praca z dokumentami DOM HTML i XML ......................................... 97
Drzewo obiektów ............................................................................................................ 97
Funkcje i właściwości obiektu document do zarządzania elementami ........................... 97
Dodawanie elementów do dokumentu ...................................................................... 99
Zmiana parametrów elementów ............................................................................. 100
Usuwanie elementów z drzewa .............................................................................. 102
Budowanie tabeli .................................................................................................... 103
Import danych z dokumentów XML ............................................................................ 106
Wczytywanie dokumentów XML w Firefoksie ...................................................... 106
Wczytywanie dokumentów XML w Internet Explorerze ........................................... 110
Wczytywanie uniwersalne dla IE i FF .................................................................... 111
Test ............................................................................................................................... 111
Rozdział 10. Własne obiekty JavaScriptu ........................................................ 113
Funkcje jako obiekty .................................................................................................... 113
Właściwości (pola) obiektu — słowo kluczowe this .............................................. 113
Metody obiektu ...................................................................................................... 115
Pola i metody prywatne .......................................................................................... 116
Dodawanie metod do istniejących obiektów — właściwość prototype ........................ 117
Dziedziczenie w JavaScripcie ....................................................................................... 118
Dziedziczenie przez funkcje ................................................................................... 118
Dziedziczenie przez prototypy ............................................................................... 119
Test ............................................................................................................................... 120
Rozdział 11. Obsługa błędów w skryptach ........................................................ 121
Wyjątki ......................................................................................................................... 121
Prosta obsługa wyjątków .............................................................................................. 121
Sami wyrzucamy wyjątki — instrukcja throw .............................................................. 122
Własne typy wyjątków ................................................................................................. 123
Test ............................................................................................................................... 124
Rozdział 12. Podstawy technologii AJAX .......................................................... 125
AJAX a tradycyjny model stron Web ........................................................................... 125
Obiekt XMLHttpRequest ............................................................................................... 125
Pobieranie danych za pomocą XMLHttpRequest metodą GET ............................. 126
Komunikacja ze skryptem PHP metodą GET ......................................................... 128
Komunikacja ze skryptem PHP metodą POST ....................................................... 129
Test ............................................................................................................................... 130
Odpowiedzi do testów .................................................................. 133
Skorowidz .................................................................................... 135
Rozdział 9.
Praca z dokumentami
DOM HTML i XML
Drzewo obiektów
Jak już wspomniałem w poprzednim rozdziale, specyfikacja DOM pozwala na traktowa-
nie strony Web jako zbioru elementów. Elementy tworzą drzewo, podobnie jak pliki i fol-
dery na dysku. Zamiast plików i folderów mamy tu węzły (node) i elementy. W przypad-
ku dokumentu HTML elementami są obiekty HTML. Zamiast tworzyć je bezpośrednio
w dokumencie, można utworzyć je za pomocą skryptu, uzyskując dynamiczną stronę
Web. To wszystko może być połączone z pobieraniem danych z dokumentów XML.
Funkcje i właściwości obiektu
document do zarządzania elementami
Elementy HTML są częścią dokumentu, który jest reprezentowany przez obiekt
docu-
ment
, dlatego obiekt ten zwiera funkcje do tworzenia elementów i węzłów. Będziemy
używać dwóch funkcji pokazanych w tabeli 9.1.
Tabela 9.1.
Funkcje obiektu document do tworzenia elementów
Funkcja
Opis
Tworzy element, parametr nazwa to nazwa znacznika HTML podana
w cudzysłowie, np.
„div”
,
„table”
,
„p”
itd.
createElement(nazwa)
Tworzy węzeł tekstowy zawierający tekst
tekst
.
createTextNode(tekst)
98
JavaScript. Pierwsze starcie
Element jest obiektem typu
element
i po utworzeniu nie jest związany do dokumen-
tem, tzn. że nie jest umieszczony od razu w drzewie obiektów dokumentu. Jest
zmienną tak jak inne zmienne w JS. Aby ustawić go w drzewie lub zmienić jego pa-
rametry (na przykład wygląd tabeli), trzeba użyć funkcji będących częścią elementu.
Funkcje obiektu
element
przedstawia tabela 9.2.
Tabela 9.2.
Funkcje obiektu element
Nazwa
Opis
Dodaje
element
jako podrzędny do elementu, na którym wywołujemy tę funkcję.
appendChild(element)
Kopiuje istniejący element lub węzeł. Funkcja zwraca kopie elementu, na
którym została wywołana. Jeśli
parametr
ma wartość
false
, to kopiowany jest
tylko dany element, jeśli
tru
— to cała gałąź drzewa, do którego należy.
cloneNode(parametr)
Usuwa element z drzewa. Jako parametr podajemy konkretny obiekt
element
, który ma być usunięty.
removeChild(element)
Dodaje
element
jako nadrzędny do elementu, na którym została wywołana
ta funkcja.
applyElement(element)
Ustawia właściwość elementu podaną w parametrze
nazwa
atrybutu
na
warto
ść
. Ponieważ do formatowania zaleca się stosowanie stylów,
najczęściej będziemy używać tej funkcji do przyporządkowania
elementowi identyfikatora id, określonego w arkuszu stylów.
setAttribute(nazwa
atrybutu, warto
ś
ci)
Będziemy też wykorzystywać dwie własności obiektu
element
, które służą do sprawdza-
nia elementów podrzędnych w stosunku do danego. Własności te zawiera tabela 9.3.
Tabela 9.3.
Własności obiektu element
Własność
Opis
Obiekt, który został dołączony do danego obiektu jako pierwszy obiekt
podrzędny.
firstChild
Tabela zawierająca wszystkie obiekty bezpośrednio podporządkowane danemu.
childNodes[]
Nazwa węzła.
nodeName
Typ węzła elementu. Jest on identyfikowany liczbą całkowitą. Kilka
możliwych wartości to:
1 — węzeł prowadzi do innego elementu;
3 — węzeł tekstowy;
8 — węzeł komentarza, np. komentarz w dokumencie HTML;
9 — węzeł prowadzi do innego dokumentu.
nodeType
Wartość węzła, np. tekst w węźle tekstowym.
nodeValue
Tych kilka funkcji wystarczy do tworzenia elementów na stronie Web. Czas na przy-
kład. Stworzymy stronę z paragrafem
<p>
i obiektem
<div>
, oczywiście tworzonymi
nie poprzez kod HTML, ale za pomocą naszych funkcji.
[ Pobierz całość w formacie PDF ]