Table of contents : Od redakcji (7) Wstęp (9) Wprowadzenie (13) Rozdział 1. Wyszukiwanie danych po stronie klienta (21) Wymagania programu (24) Struktura programu (24) Plik nav.html (24) Plik records.js (28) Zmienne globalne (29) Funkcje (30) Kod HTML (44) Tworzenie bazy danych w języku JavaScript (45) Kierunki rozwoju (45) Zgodność z językiem JavaScript 1.0 (45) NICTJDO (46) Odporność na błędy (46) Wyświetlanie reklam (47) Rozszerzenie możliwości wyszukiwania (47) Zapytania predefiniowane (48) Rozdział 2. Test sprawdzany na bieżąco (49) Wymagania programu (53) Struktura programu (53) index.html - ramki (53) question.js - plik źródłowy JavaScript (55) administer.html (57) Kierunki rozwoju (70) Uodpornienie na oszustwa (70) Przekształcenie na ankietę (72) Rozdział 3. Interaktywna prezentacja slajdów (73) Wymagania programu (74) Struktura progamu (75) Zmienne (78) Funkcje aplikacji (81) Kierunki rozwoju (95) Losowy dobór slajdów w trybie automatycznym (95) Animowane GIF-y i suwaki slajdów (96) Animacja samych slajdów (96) Rozdział 4. Interfejs multiwyszukiwarki (97) Wymagania programu (98) Struktura programu (99) Przechadzka Aleją Pamięci (103) Dynamiczne ładowanie obrazków (104) Uruchamianie wyszukiwarek (106) engineLinks() (106) imageSwap() (111) callSearch() (111) Kierunki rozwoju: zwiększenie możliwości decydowania przez użytkownika (113) Rozdział 5. ImageMachine (117) Wymagania programu (119) Struktura programu (121) Krok 1. Załadowanie strony (129) Krok 2. Określenie liczby par obrazków i ustawień domyślnych (130) Krok 3. Określenie nazw plików, atrybutów HREF i tak dalej (130) Krok 4. Wybór Podglądu w celu obejrzenia działania kodu (138) Krok 5. Wybór Zmiany danych w celu zrobienia poprawek (138) Kierunki rozwoju: dodanie atrybutów do szablonu (139) Krok 1. Dodanie pól (139) Krok 2. Tworzenie tablic w setArrays() (139) Krok 3. Pobieranie nowych ustawień domyślnych (140) Krok 4. Dodanie pól tekstowych w generateEntryForm() (140) Krok 5. Odwołanie się do nowych wartości w genJavaScript() i ich użycie (141) Krok 6. Generacja dodatkowego HTML w genJavaScript() (141) Rozdział 6. Realizacja plików źródłowych JavaScriptu (143) arrays.js (144) cookies.js (148) dhtml.js (151) events.js (153) frames.js (158) images.js (161) navbar.js (162) numbers.js (164) objects.js (165) strings.js (169) Kierunki rozwoju (174) Rozdział 7. Ustawienia użytkownika oparte na ciasteczkach (175) Wymagania programu (176) Struktura programu (177) prefs.html (179) Wprowadzanie zmian (190) Zerowanie formularza (194) dive.html (194) Kierunki rozwoju (201) Więcej ustawień wyglądu (202) Gotowe schematy wyglądu stron (202) Umożliwienie użytkownikom tworzenia własnych łącz (202) Marketing bezpośredni (203) Rozdział 8. Shopping Bag - wózek sklepowy stworzony w JavaScripcie (205) Shopping Bag w dwóch słowach (205) Etap 1. Ładowanie aplikacji (206) Etap 2. Przeglądanie towarów i wybór (206) Etap 3: Przeglądanie zamówienia i zmiany w nim (208) Etap 4. Płacenie (210) Wymagania programu (212) Struktura programu (212) Etap 1. Ładowanie aplikacji (214) Elementy najwyższego poziomu (215) inventory.js (217) Etap 2. Pokazanie towarów (225) manager.html (226) Etap 3. Pokazanie wszystkich kategorii (237) Wyświetlenie pierwszego produktu (237) Etap 4. Dodawanie produktów do koszyka (238) Wyszukiwanie produktów (240) Odwzorowanie produktów i kategorii (241) Przeszukiwanie istniejącej bazy danych (241) Obsługa nawigacji między produktami i kategoriami (242) Kod w łączach (244) Etap 5. Zmiana zamówienia, płacenie (244) Tworzenie list wyboru (247) Zapisywanie rachunku (249) Opakowanie showBag(): pokazywanie podsumowań (250) Koniec wyświetlania (253) A po stronie serwera? (253) Przycisk Wyzeruj ilości (254) Przycisk Zmiana koszyka (254) Zapomniane funkcje (255) Kierunki rozwoju (255) Inteligentniejsze towary (255) Zwiększenie możliwości wyszukiwania (256) Obsługa ciasteczek (256) Rozdział 9. Szyfry w JavaScripcie (259) Jak działają szyfry (262) Kilka słów o łamaniu kodów (263) Szyfr Cezara (263) Szyfr Vigenere (264) Wymagania programu (264) Struktura programu (264) Definiowanie szyfru (269) Tworzenie szyfru z podstawianiem (272) Podstawowa metoda podstawiania (272) Różne podstawienia do różnych szyfrów (274) Jak działa shiftIdx (276) Obiekty SubstitutionCipher też są obiektami Cipher (277) Tworzenie nowych obiektów SubstitutionCipher (278) Dobór odpowiedniego szyfru (280) Na koniec (280) Kierunki rozwoju (280) Rozdział 10. Elektroniczne życzenia: poczta elektroniczna metodą przenieś i upuść (283) Wymagania programu (283) Struktura programu (286) Pozostałe dwa dokumenty (288) Co już wiemy (291) Proszę zająć miejsca! (292) Śledzenie położenia myszy (295) Wywoływanie wszystkich ikon (295) Przenoszenie ikon (296) Kiedy dokumenty już się załadują (297) Poznaj zmienne (302) Wyświetlanie życzeń (302) Obrazki po kolei (302) Utrzymanie ikon na miejscu (307) Sprawdzanie, co otrzymaliśmy (309) Ostateczne tworzenie kartki (310) Wysyłanie życzeń (312) Uwaga (313) Po stronie serwera (313) Kierunki rozwoju (314) Dodanie łącza "wstecz" (314) Dodanie obrazków tematycznych (314) Banery reklamowe (314) Życzenia bardziej interaktywne (314) Rozdział 11. Pomoc kontekstowa (315) Wymagania programu (318) Struktura programu (318) Pomoc kontekstowa (319) Pokazywanie i ukrywanie dodatkowych informacji (321) Tworzenie warstw (323) Kierunki rozwoju (327) Spis treści (327) Przeszukiwanie plików pomocy (327) Pytanie do specjalisty (327) Pomoc telefoniczna (327) Epilog (329) Dodatek A Język JavaScript (331) Dodatek B Materiały w Sieci (377) Dodatek C Użycie skryptów Perla (387) Skorowidz (403) Kolofon (415)