Dane szczegółowe książki
JavaScript - projekty / Sanders, William B. (1944-); Jarczyk, Adam
Tytuł
JavaScript - projekty
Tytuł oryginału
JavaScript design
Wydawnictwo
Gliwice: "Helion", 2002
ISBN
8371978111
Hasła przedmiotowe
Spis treści
pokaż spis treści
OD REDAKCJI 9
WSTĘP 10
CO POWINIENEŚ WIEDZIEĆ 10
UŻYCIE CZCIONEK 10
UKŁAD KSIĄŻKI 10
Wymagania programu 11
Struktura programu 11
Techniki języka JavaScript 11
Kierunki rozwoju 11
O KODZIE 11
PROGRAMOWANIE I TESTOWANIE 11
PODZIĘKOWANIA 11
WPROWADZENIE 13
ZALETY JĘZYKA JAVASCRIPT 13
Prostota, szybkość i efektywność 13
Wszechobecność 13
Redukcja obciążenia serwera 14
JavaScript rozwija się 14
Być może nie ma wyboru 14
I wiele innych zalet 14
PODSTAWOWA STRATEGIA PROGRAMOWANIA W JAVASCRIPT 14
Co może aplikacja? 14
Kim są nasi odbiorcy 15
Jak radzić sobie z przeszkodami? 16
Uwzględniaj wszelkie używane przeglądarki 16
Dyskretnie obniżaj jakość 16
Mierz nisko 16
Mierz wysoko 16
Udostępniaj wiele wersji jednej aplikacji 16
UŻYCIE JĘZYKA JAVASCRIPT W PREZENTOWANYCH APLIKACJACH 16
Wielokrotne użycie kodu przyszłością narodu 17
Wydzielanie JavaScriptu 17
Deklarowanie zmiennych globalnych i tablic na początku 17
Deklarowanie konstruktorów po zmiennych globalnych 17
Definiowanie funkcji zgodnie z porządkiem „chronologicznym” 17
Każda funkcja realizuje jedno zadanie 17
W miarę możliwości używaj zmiennych lokalnych 17
NASTĘPNY KROK 17
1 18
WYSZUKIWANIE DANYCH PO STRONIE KLIENTA 18
WYMAGANIA PROGRAMU 20
STRUKTURA PROGRAMU 21
Plik nav.html 21
Plik records.js 24
Zmienne globalne 24
Funkcje 25
validate() 26
convertString() 26
allowAny() 27
requireAll() 27
verifyManage() 30
noMatch() 30
formatResults() 31
Nagłówek i tytuł dokumentu HTML 31
Wyświetlanie tytułów, opisów i adresów URL dokumentów 32
Dodanie przycisków „Poprzedni” i „Następny” 33
prevNextResults() 33
Tylko przycisk „Następne” 33
Przyciski „Następne” i „Poprzednie” 33
Tylko przycisk „Poprzednie” 34
Kod HTML 36
TWORZENIE BAZY DANYCH W JĘZYKU JAVASCRIPT 36
KIERUNKI ROZWOJU 37
Zgodność z językiem JavaScript 1.0 37
NICTJDO 37
Odporność na błędy 38
Wyświetlanie reklam 38
Rozszerzenie możliwości wyszukiwania 38
Zapytania predefiniowane 39
2 40
TEST SPRAWDZANY NA BIEŻĄCO 40
WYMAGANIA PROGRAMU 43
STRUKTURA PROGRAMU 43
index.html – ramki 44
question.js – plik źródłowy JavaScript 45
administer.html 47
Treść HTML 49
Zmienne globalne 50
Funkcje 50
itemReset() 51
shuffle() 51
buildQuestion() 52
gradeTest() 54
printResults() 55
chickenOut() 57
KIERUNKI ROZWOJU 57
Uodpornienie na oszustwa 57
Usuwanie odpowiedzi z tablicy 57
Usuwanie gradeTest() i modyfikacja buildQuestion() 58
Modyfikacja printResults() 58
Przekształcenie na ankietę 58
3 59
INTERAKTYWNA PREZENTACJA SLAJDÓW 59
WYMAGANIA PROGRAMU 61
STRUKTURA PROGAMU 61
Zmienne 64
Ustawienia domyślne warstwy DHTML 65
Zmienne związane z przeglądarkami 65
Zmienne związane z obrazkami 66
Zmienne automatycznego pokazu 66
Funkcje aplikacji 66
Funkcje związane z warstwami 67
genLayer() 67
slide() 67
genScreen() 69
Elementy tablicy slideShow 72
Funkcje związane z obsługą obrazków 73
preLoadImages() 73
imageSwap() 73
Funkcje nawigacji 74
refSlide(), hideSlide(), showSlide(), menuManager() 74
changeSlide() 75
setSlide() 76
autoPilot() 76
automate() 77
KIERUNKI ROZWOJU 77
Losowy dobór slajdów w trybie automatycznym 77
Animowane GIF-y i suwaki slajdów 78
Animacja samych slajdów 78
4 79
INTERFEJS MULTIWYSZUKIWARKI 79
WYMAGANIA PROGRAMU 81
STRUKTURA PROGRAMU 81
Przechadzka Aleją Pamięci 85
Dynamiczne ładowanie obrazków 85
Uruchamianie wyszukiwarek 86
engineLinks() 87
Zarządzanie warstwami 87
Wstępne ładowanie obrazków 89
Tworzenie łącza 89
imageSwap() 90
callSearch() 91
KIERUNKI ROZWOJU: ZWIĘKSZENIE MOŻLIWOŚCI DECYDOWANIA PRZEZ UŻYTKOWNIKA 92
Krok 1. 93
Krok 2. 93
Krok 3. 93
Krok 4. 93
Krok 5. 93
5 95
IMAGEMACHINE 95
WYMAGANIA PROGRAMU 97
STRUKTURA PROGRAMU 98
Krok 1. Załadowanie strony 105
Krok 2. Określenie liczby par obrazków i ustawień domyślnych 105
Krok 3. Określenie nazw plików, atrybutów HREF i tak dalej 106
captureDefaultProfile() 106
generateEntryForm() 107
genJavaScript() 108
Czas na decyzje 110
Generowanie kodu 111
Krok 4. Wybór Podglądu w celu obejrzenia działania kodu 112
Krok 5. Wybór Zmiany danych w celu zrobienia poprawek 112
KIERUNKI ROZWOJU: DODANIE ATRYBUTÓW DO SZABLONU 112
Krok 1. Dodanie pól 113
Krok 2. Tworzenie tablic w setArrays() 113
Krok 3. Pobieranie nowych ustawień domyślnych 113
Krok 4. Dodanie pól tekstowych w generateEntryForm() 114
Krok 5. Odwołanie się do nowych wartości w genJavaScript() i ich użycie 114
Krok 6. Generacja dodatkowego HTML w genJavaScript() 114
6 116
REALIZACJA PLIKÓW ŹRÓDŁOWYCH JAVASCRIPTU 116
ARRAYS.JS 117
COOKIES.JS 120
DHTML.JS 123
EVENTS.JS 124
FRAMES.JS 128
IMAGES.JS 130
NAVBAR.JS 131
NUMBERS.JS 133
OBJECTS.JS 134
STRINGS.JS 137
KIERUNKI ROZWOJU 141
7 143
USTAWIENIA UŻYTKOWNIKA OPARTE NA CIASTECZKACH 143
WYMAGANIA PROGRAMU 144
STRUKTURA PROGRAMU 145
prefs.html 146
Formularz ustawień użytkownika 152
Ładowanie zapisanych ustawień 153
Składanie obrazków 155
Wprowadzanie zmian 156
Krok 1. Iteracja formObj 157
Krok 2. Zapisanie danych do pliku cookies 158
Krok 3. Pokazanie użytkownikowi nowych ustawień 158
Zerowanie formularza 159
dive.html 159
Analiza ciasteczek 161
Twarzą w twarz z nieznanym 162
KIERUNKI ROZWOJU 165
Więcej ustawień wyglądu 165
Gotowe schematy wyglądu stron 165
Umożliwienie użytkownikom tworzenia własnych łącz 165
Marketing bezpośredni 166
8 167
SHOPPING BAG – WÓZEK SKLEPOWY STWORZONY W JAVASCRIPCIE 167
SHOPPING BAG W DWÓCH SŁOWACH 167
Etap 1. Ładowanie aplikacji 168
Etap 2. Przeglądanie towarów i wybór 169
Etap 3: Przeglądanie zamówienia i zmiany w nim 171
Etap 4. Płacenie 173
WYMAGANIA PROGRAMU 173
STRUKTURA PROGRAMU 174
ETAP 1. ŁADOWANIE APLIKACJI 176
Elementy najwyższego poziomu 177
inventory.js 178
Cechy produktów 181
Cechy kategorii produktów 182
Tworzenie produktów i kategorii 183
Tworzenie koszyka na zakupy 184
ETAP 2. POKAZANIE TOWARÓW 185
manager.html 185
Zmienne 192
display() 192
Wyjątki od reguły 193
Tworzenie wyświetlanej strony 194
ETAP 3. POKAZANIE WSZYSTKICH KATEGORII 195
Wyświetlenie pierwszego produktu 195
Gdzie tu jest DHTML? 195
ETAP 4. DODAWANIE PRODUKTÓW DO KOSZYKA 196
Wyszukiwanie produktów 197
Odwzorowanie produktów i kategorii 197
Przeszukiwanie istniejącej bazy danych 198
Obsługa nawigacji między produktami i kategoriami 198
Kod w łączach 200
ETAP 5. ZMIANA ZAMÓWIENIA, PŁACENIE 200
Tworzenie list wyboru 203
Zapisywanie rachunku 204
Opakowanie showBag(): pokazywanie podsumowań 205
Przycisk Do kasy 206
Koniec wyświetlania 207
A po stronie serwera? 207
Przycisk Wyzeruj ilości 208
Przycisk Zmiana koszyka 208
Zapomniane funkcje 208
KIERUNKI ROZWOJU 209
Inteligentniejsze towary 209
Zwiększenie możliwości wyszukiwania 209
Obsługa ciasteczek 210
9 211
SZYFRY W JAVASCRIPCIE 211
JAK DZIAŁAJĄ SZYFRY 214
Kilka słów o łamaniu kodów 214
Szyfr Cezara 215
Szyfr Vigenere 215
WYMAGANIA PROGRAMU 215
STRUKTURA PROGRAMU 216
Definiowanie szyfru 220
Tworzenie szyfru z podstawianiem 222
Podstawowa metoda podstawiania 222
Różne podstawienia do różnych szyfrów 223
Algorytm szyfru Cezara 223
Algorytm szyfru Vigenere 224
Jak działa shiftIdx 225
Obiekty SubstitutionCipher też są obiektami Cipher 226
Tworzenie nowych obiektów SubstitutionCipher 226
Dobór odpowiedniego szyfru 228
Na koniec 228
KIERUNKI ROZWOJU 229
10 230
ELEKTRONICZNE ŻYCZENIA: POCZTA ELEKTRONICZNA METODĄ PRZENIEŚ I UPUŚĆ 230
WYMAGANIA PROGRAMU 232
STRUKTURA PROGRAMU 232
Pozostałe dwa dokumenty 234
Co już wiemy 237
Proszę zająć miejsca! 238
Śledzenie położenia myszy 239
Wywoływanie wszystkich ikon 240
Przenoszenie ikon 240
Kiedy dokumenty już się załadują 241
Poznaj zmienne 245
Wyświetlanie życzeń 245
Obrazki po kolei 247
Utrzymanie ikon na miejscu 249
Sprawdzanie, co otrzymaliśmy 251
Ostateczne tworzenie kartki 251
Wysyłanie życzeń 253
Uwaga 254
PO STRONIE SERWERA 254
KIERUNKI ROZWOJU 254
Dodanie łącza „wstecz” 254
Dodanie obrazków tematycznych 255
Banery reklamowe 255
Życzenia bardziej interaktywne 255
11 256
POMOC KONTEKSTOWA 256
WYMAGANIA PROGRAMU 258
STRUKTURA PROGRAMU 258
Pomoc kontekstowa 259
Pokazywanie i ukrywanie dodatkowych informacji 261
Tworzenie warstw 263
KIERUNKI ROZWOJU 265
Spis treści 265
Przeszukiwanie plików pomocy 266
Pytanie do specjalisty 266
Pomoc telefoniczna 266
WSTĘP 10
CO POWINIENEŚ WIEDZIEĆ 10
UŻYCIE CZCIONEK 10
UKŁAD KSIĄŻKI 10
Wymagania programu 11
Struktura programu 11
Techniki języka JavaScript 11
Kierunki rozwoju 11
O KODZIE 11
PROGRAMOWANIE I TESTOWANIE 11
PODZIĘKOWANIA 11
WPROWADZENIE 13
ZALETY JĘZYKA JAVASCRIPT 13
Prostota, szybkość i efektywność 13
Wszechobecność 13
Redukcja obciążenia serwera 14
JavaScript rozwija się 14
Być może nie ma wyboru 14
I wiele innych zalet 14
PODSTAWOWA STRATEGIA PROGRAMOWANIA W JAVASCRIPT 14
Co może aplikacja? 14
Kim są nasi odbiorcy 15
Jak radzić sobie z przeszkodami? 16
Uwzględniaj wszelkie używane przeglądarki 16
Dyskretnie obniżaj jakość 16
Mierz nisko 16
Mierz wysoko 16
Udostępniaj wiele wersji jednej aplikacji 16
UŻYCIE JĘZYKA JAVASCRIPT W PREZENTOWANYCH APLIKACJACH 16
Wielokrotne użycie kodu przyszłością narodu 17
Wydzielanie JavaScriptu 17
Deklarowanie zmiennych globalnych i tablic na początku 17
Deklarowanie konstruktorów po zmiennych globalnych 17
Definiowanie funkcji zgodnie z porządkiem „chronologicznym” 17
Każda funkcja realizuje jedno zadanie 17
W miarę możliwości używaj zmiennych lokalnych 17
NASTĘPNY KROK 17
1 18
WYSZUKIWANIE DANYCH PO STRONIE KLIENTA 18
WYMAGANIA PROGRAMU 20
STRUKTURA PROGRAMU 21
Plik nav.html 21
Plik records.js 24
Zmienne globalne 24
Funkcje 25
validate() 26
convertString() 26
allowAny() 27
requireAll() 27
verifyManage() 30
noMatch() 30
formatResults() 31
Nagłówek i tytuł dokumentu HTML 31
Wyświetlanie tytułów, opisów i adresów URL dokumentów 32
Dodanie przycisków „Poprzedni” i „Następny” 33
prevNextResults() 33
Tylko przycisk „Następne” 33
Przyciski „Następne” i „Poprzednie” 33
Tylko przycisk „Poprzednie” 34
Kod HTML 36
TWORZENIE BAZY DANYCH W JĘZYKU JAVASCRIPT 36
KIERUNKI ROZWOJU 37
Zgodność z językiem JavaScript 1.0 37
NICTJDO 37
Odporność na błędy 38
Wyświetlanie reklam 38
Rozszerzenie możliwości wyszukiwania 38
Zapytania predefiniowane 39
2 40
TEST SPRAWDZANY NA BIEŻĄCO 40
WYMAGANIA PROGRAMU 43
STRUKTURA PROGRAMU 43
index.html – ramki 44
question.js – plik źródłowy JavaScript 45
administer.html 47
Treść HTML 49
Zmienne globalne 50
Funkcje 50
itemReset() 51
shuffle() 51
buildQuestion() 52
gradeTest() 54
printResults() 55
chickenOut() 57
KIERUNKI ROZWOJU 57
Uodpornienie na oszustwa 57
Usuwanie odpowiedzi z tablicy 57
Usuwanie gradeTest() i modyfikacja buildQuestion() 58
Modyfikacja printResults() 58
Przekształcenie na ankietę 58
3 59
INTERAKTYWNA PREZENTACJA SLAJDÓW 59
WYMAGANIA PROGRAMU 61
STRUKTURA PROGAMU 61
Zmienne 64
Ustawienia domyślne warstwy DHTML 65
Zmienne związane z przeglądarkami 65
Zmienne związane z obrazkami 66
Zmienne automatycznego pokazu 66
Funkcje aplikacji 66
Funkcje związane z warstwami 67
genLayer() 67
slide() 67
genScreen() 69
Elementy tablicy slideShow 72
Funkcje związane z obsługą obrazków 73
preLoadImages() 73
imageSwap() 73
Funkcje nawigacji 74
refSlide(), hideSlide(), showSlide(), menuManager() 74
changeSlide() 75
setSlide() 76
autoPilot() 76
automate() 77
KIERUNKI ROZWOJU 77
Losowy dobór slajdów w trybie automatycznym 77
Animowane GIF-y i suwaki slajdów 78
Animacja samych slajdów 78
4 79
INTERFEJS MULTIWYSZUKIWARKI 79
WYMAGANIA PROGRAMU 81
STRUKTURA PROGRAMU 81
Przechadzka Aleją Pamięci 85
Dynamiczne ładowanie obrazków 85
Uruchamianie wyszukiwarek 86
engineLinks() 87
Zarządzanie warstwami 87
Wstępne ładowanie obrazków 89
Tworzenie łącza 89
imageSwap() 90
callSearch() 91
KIERUNKI ROZWOJU: ZWIĘKSZENIE MOŻLIWOŚCI DECYDOWANIA PRZEZ UŻYTKOWNIKA 92
Krok 1. 93
Krok 2. 93
Krok 3. 93
Krok 4. 93
Krok 5. 93
5 95
IMAGEMACHINE 95
WYMAGANIA PROGRAMU 97
STRUKTURA PROGRAMU 98
Krok 1. Załadowanie strony 105
Krok 2. Określenie liczby par obrazków i ustawień domyślnych 105
Krok 3. Określenie nazw plików, atrybutów HREF i tak dalej 106
captureDefaultProfile() 106
generateEntryForm() 107
genJavaScript() 108
Czas na decyzje 110
Generowanie kodu 111
Krok 4. Wybór Podglądu w celu obejrzenia działania kodu 112
Krok 5. Wybór Zmiany danych w celu zrobienia poprawek 112
KIERUNKI ROZWOJU: DODANIE ATRYBUTÓW DO SZABLONU 112
Krok 1. Dodanie pól 113
Krok 2. Tworzenie tablic w setArrays() 113
Krok 3. Pobieranie nowych ustawień domyślnych 113
Krok 4. Dodanie pól tekstowych w generateEntryForm() 114
Krok 5. Odwołanie się do nowych wartości w genJavaScript() i ich użycie 114
Krok 6. Generacja dodatkowego HTML w genJavaScript() 114
6 116
REALIZACJA PLIKÓW ŹRÓDŁOWYCH JAVASCRIPTU 116
ARRAYS.JS 117
COOKIES.JS 120
DHTML.JS 123
EVENTS.JS 124
FRAMES.JS 128
IMAGES.JS 130
NAVBAR.JS 131
NUMBERS.JS 133
OBJECTS.JS 134
STRINGS.JS 137
KIERUNKI ROZWOJU 141
7 143
USTAWIENIA UŻYTKOWNIKA OPARTE NA CIASTECZKACH 143
WYMAGANIA PROGRAMU 144
STRUKTURA PROGRAMU 145
prefs.html 146
Formularz ustawień użytkownika 152
Ładowanie zapisanych ustawień 153
Składanie obrazków 155
Wprowadzanie zmian 156
Krok 1. Iteracja formObj 157
Krok 2. Zapisanie danych do pliku cookies 158
Krok 3. Pokazanie użytkownikowi nowych ustawień 158
Zerowanie formularza 159
dive.html 159
Analiza ciasteczek 161
Twarzą w twarz z nieznanym 162
KIERUNKI ROZWOJU 165
Więcej ustawień wyglądu 165
Gotowe schematy wyglądu stron 165
Umożliwienie użytkownikom tworzenia własnych łącz 165
Marketing bezpośredni 166
8 167
SHOPPING BAG – WÓZEK SKLEPOWY STWORZONY W JAVASCRIPCIE 167
SHOPPING BAG W DWÓCH SŁOWACH 167
Etap 1. Ładowanie aplikacji 168
Etap 2. Przeglądanie towarów i wybór 169
Etap 3: Przeglądanie zamówienia i zmiany w nim 171
Etap 4. Płacenie 173
WYMAGANIA PROGRAMU 173
STRUKTURA PROGRAMU 174
ETAP 1. ŁADOWANIE APLIKACJI 176
Elementy najwyższego poziomu 177
inventory.js 178
Cechy produktów 181
Cechy kategorii produktów 182
Tworzenie produktów i kategorii 183
Tworzenie koszyka na zakupy 184
ETAP 2. POKAZANIE TOWARÓW 185
manager.html 185
Zmienne 192
display() 192
Wyjątki od reguły 193
Tworzenie wyświetlanej strony 194
ETAP 3. POKAZANIE WSZYSTKICH KATEGORII 195
Wyświetlenie pierwszego produktu 195
Gdzie tu jest DHTML? 195
ETAP 4. DODAWANIE PRODUKTÓW DO KOSZYKA 196
Wyszukiwanie produktów 197
Odwzorowanie produktów i kategorii 197
Przeszukiwanie istniejącej bazy danych 198
Obsługa nawigacji między produktami i kategoriami 198
Kod w łączach 200
ETAP 5. ZMIANA ZAMÓWIENIA, PŁACENIE 200
Tworzenie list wyboru 203
Zapisywanie rachunku 204
Opakowanie showBag(): pokazywanie podsumowań 205
Przycisk Do kasy 206
Koniec wyświetlania 207
A po stronie serwera? 207
Przycisk Wyzeruj ilości 208
Przycisk Zmiana koszyka 208
Zapomniane funkcje 208
KIERUNKI ROZWOJU 209
Inteligentniejsze towary 209
Zwiększenie możliwości wyszukiwania 209
Obsługa ciasteczek 210
9 211
SZYFRY W JAVASCRIPCIE 211
JAK DZIAŁAJĄ SZYFRY 214
Kilka słów o łamaniu kodów 214
Szyfr Cezara 215
Szyfr Vigenere 215
WYMAGANIA PROGRAMU 215
STRUKTURA PROGRAMU 216
Definiowanie szyfru 220
Tworzenie szyfru z podstawianiem 222
Podstawowa metoda podstawiania 222
Różne podstawienia do różnych szyfrów 223
Algorytm szyfru Cezara 223
Algorytm szyfru Vigenere 224
Jak działa shiftIdx 225
Obiekty SubstitutionCipher też są obiektami Cipher 226
Tworzenie nowych obiektów SubstitutionCipher 226
Dobór odpowiedniego szyfru 228
Na koniec 228
KIERUNKI ROZWOJU 229
10 230
ELEKTRONICZNE ŻYCZENIA: POCZTA ELEKTRONICZNA METODĄ PRZENIEŚ I UPUŚĆ 230
WYMAGANIA PROGRAMU 232
STRUKTURA PROGRAMU 232
Pozostałe dwa dokumenty 234
Co już wiemy 237
Proszę zająć miejsca! 238
Śledzenie położenia myszy 239
Wywoływanie wszystkich ikon 240
Przenoszenie ikon 240
Kiedy dokumenty już się załadują 241
Poznaj zmienne 245
Wyświetlanie życzeń 245
Obrazki po kolei 247
Utrzymanie ikon na miejscu 249
Sprawdzanie, co otrzymaliśmy 251
Ostateczne tworzenie kartki 251
Wysyłanie życzeń 253
Uwaga 254
PO STRONIE SERWERA 254
KIERUNKI ROZWOJU 254
Dodanie łącza „wstecz” 254
Dodanie obrazków tematycznych 255
Banery reklamowe 255
Życzenia bardziej interaktywne 255
11 256
POMOC KONTEKSTOWA 256
WYMAGANIA PROGRAMU 258
STRUKTURA PROGRAMU 258
Pomoc kontekstowa 259
Pokazywanie i ukrywanie dodatkowych informacji 261
Tworzenie warstw 263
KIERUNKI ROZWOJU 265
Spis treści 265
Przeszukiwanie plików pomocy 266
Pytanie do specjalisty 266
Pomoc telefoniczna 266