JavaScript. Podręcznik tworzenia interaktywnych stron internetowych. Wydanie II - Helion
Tytuł oryginału: The Book of JavaScript, 2nd Edition: A Practical Guide to Interactive Web Pages
TÅ‚umaczenie: Marcin Karbowski, Tomasz Walczak
ISBN: 978-83-246-1079-2
stron: 592, Format: B5, okładka: miękka
Data wydania: 2007-10-29
Księgarnia: Helion
Cena książki: 77,00 zł
- Jak umieszczać na stronach WWW elementy interaktywne?
- W jaki sposób weryfikować poprawność danych w formularzach?
- Jak najlepiej wykorzystać technologię AJAX?
JavaScript to język programowania należący do grupy najpopularniejszych narzędzi wykorzystywanych przy tworzeniu witryn internetowych. Ten łatwy w opanowaniu język interpretowany po stronie klienta jest stosowany do wielu zadań; weryfikowanie poprawności danych w formularzach, generowanie efektów graficznych, sprawdzanie modelu przeglądarki użytkownika i tworzenie dynamicznych menu to jego najczęstsze zastosowania. JavaScript jest również bazą dla zyskującej ogromną popularność technologii AJAX, która sprawia, że aplikacje sieciowe coraz bardziej upodobniają się do programów "biurkowych".
"JavaScript. Podręcznik tworzenia interaktywnych stron internetowych. Wydanie II" to kompleksowy przegląd możliwości języka JavaScript. Czytając tę książkę, poznasz podstawy języka JavaScript, metody wykrywania typu przeglądarki, sterowania ramkami i oknami przeglądarki, sprawdzania danych z formularzy oraz tworzenia map obrazkowych. Dowiesz się, jak korzystać z plików cookie i dynamicznego HTML. W dalszej części książki znajdziesz szczegółowy opis technologii AJAX. Nauczysz się projektować nowe strony w tej technologii i konwertować do niej istniejące dokumenty. Przeczytasz o implementacji mechanizmów AJAX po stronie serwera i przeglądarki, o korzystaniu ze skryptów PHP i usuwaniu błędów ze skryptów.
- Osadzanie kodu JavaScript w dokumencie HTML
- Korzystanie ze zmiennych
- Tworzenie efektów rollover
- Sterowanie oknami przeglÄ…darki
- Obsługa formularzy HTML
- Zapisywanie danych użytkowników w plikach cookie
- Dynamiczny HTML
- Podstawy modelu AJAX
- AJAX po stronie przeglÄ…darki i serwera
- Korzystanie z plików XML
- Debugowanie skryptów JavaScript i Ajax
Osoby które kupowały "JavaScript. Podręcznik tworzenia interaktywnych stron internetowych. Wydanie II", wybierały także:
- D3.js w akcji 67,42 zł, (20,90 zł -69%)
- Tablice informatyczne. Node.js 16,86 zł, (5,90 zł -65%)
- React i GatsbyJS. Kurs video. Nowoczesne strony internetowe w oparciu o headless CMS i GraphQL 148,98 zł, (59,59 zł -60%)
- TypeScript i React. Kurs video. Tworzenie nowoczesnych komponent 129,00 zł, (51,60 zł -60%)
- Vue.js w praktyce. Kurs video. Poznaj narz 148,98 zł, (59,59 zł -60%)
Spis treści
JavaScript. Podręcznik tworzenia interaktywnych stron internetowych. Wydanie II -- spis treści
Podziękowania (17)
Wstęp (19)
Przedmowa do wydania pierwszego (21)
Wprowadzenie (23)
1. Witajcie w JavaScript! (29)
- Czy JavaScript to język dla mnie? (30)
- Czy ta książka jest dla mnie? (30)
- Cele książki (30)
- Jakie są możliwości języka JavaScript? (31)
- Jakie są alternatywy dla języka JavaScript? (32)
- Skrypty CGI (32)
- VBScript (34)
- Java (35)
- Flash (35)
- Ograniczenia języka JavaScript (35)
- Brak możliwości nawiązania połączenia z serwerem (35)
- Brak możliwości tworzenia grafiki (36)
- Efekty zależne od przeglądarki (36)
- Na poczÄ…tek (36)
- Umieszczanie skryptu w kodzie strony (37)
- Obsługa starszych przeglądarek (39)
- Pierwszy skrypt w języku JavaScript (40)
- Podsumowanie (41)
- Zadanie (41)
2. Wykorzystywanie zmiennych i wbudowanych funkcji w celu automatycznego aktualizowania stron internetowych (43)
- Zmienne (45)
- Składnia zmiennych (45)
- Nazywanie zmiennych (46)
- Obliczenia z użyciem zmiennych (47)
- Wyświetlanie rezultatów (47)
- Analiza listingu 2.2 (49)
- CiÄ…gi tekstowe (49)
- Analiza listingu 2.3 (50)
- Więcej informacji na temat funkcji (51)
- alert() (51)
- Analiza listingu 2.5 (53)
- prompt() (54)
- Parametry (55)
- Wyświetlanie daty na stronie internetowej (56)
- Wbudowane funkcje dat (56)
- Wyznaczanie daty i godziny (57)
- Skrypt wyświetlający datę i godzinę (59)
- Analiza listingu 2.7 (59)
- W jaki sposób Europejska Agencja Kosmiczna wyświetla datę na swojej stronie? (62)
- Podsumowanie (62)
- Zadanie (63)
3. Uwzględnianie typu przeglądarki (65)
- Praktyczny przykład wykrycia typu przeglądarki (66)
- Metody wykrywania typu przeglÄ…darki (67)
- Metoda szybka i mało precyzyjna (67)
- Precyzyjne określanie typu przeglądarki (68)
- Przekierowanie użytkowników do innych stron (70)
- Wyrażenia if (70)
- Wyrażenia logiczne (71)
- Zagnieżdżanie (73)
- Wyrażenia if-else (74)
- Wyrażenia if-else-if (74)
- Kiedy i gdzie należy umieszczać nawiasy klamrowe (75)
- OR i AND (76)
- OR (76)
- AND (78)
- Wszystkie techniki razem (79)
- Dodatkowe informacje na temat wyrażeń logicznych (81)
- Sposób, w jaki Netscape wyświetla zależną od przeglądarki zawartość swojej strony (82)
- Podsumowanie (85)
- Zadanie (85)
4. Efekty rollover (87)
- Przykład efektu rollover (88)
- Aktywowanie zdarzeń (89)
- Rodzaje zdarzeń (90)
- Cudzysłowy w języku JavaScript (92)
- Klikanie Å‚Ä…cza donikÄ…d (93)
- Inne ciekawe akcje (94)
- Zamienianie obrazów (95)
- Praca z wieloma obrazami (96)
- O co chodzi z tymi kropkami? (97)
- Obiekt document (98)
- Właściwości obiektów (99)
- Wreszcie - efekty rollover! (99)
- Wstępne wczytywanie obrazów (100)
- Efekty rollover na stronie "Tin House" (101)
- Podsumowanie (102)
- Zadanie (103)
5. Wykorzystywanie okien (105)
- Przykład wykorzystania nowego okna w celu przekazania dodatkowych informacji (105)
- Okna jako obiekty (106)
- Otwieranie okien (107)
- Zmienianie wyglÄ…du nowych okien (108)
- Niektóre przeglądarki i komputery otwierają okna w inny sposób (111)
- Zamykanie okien (111)
- Właściwe nazewnictwo (112)
- Przemieszczanie okien nad i pod innymi oknami (113)
- Właściwości okien (113)
- Status (113)
- Właściwość opener (114)
- Inne metody zwiÄ…zane z oknami (117)
- Zmienianie rozmiarów okien (117)
- Przemieszczanie okien (117)
- Podsumowanie (120)
- Zadanie (121)
6. Funkcje JavaScript (123)
- Funkcje jako skróty (124)
- Podstawowa struktura funkcji JavaScript (125)
- Nazywanie funkcji (125)
- Nawiasy okrągłe i klamrowe (125)
- Przykład prostej funkcji (126)
- Elastyczne funkcje (127)
- Parametry (127)
- Analiza listingu 6.4 (128)
- Korzystanie z kilku parametrów (130)
- Pobieranie informacji z funkcji (131)
- Analiza listingu 6.6 (133)
- Problem roku 2000 (133)
- Analiza listingu 6.8 (135)
- Poprawne definiowanie zmiennych (135)
- Podsumowanie (138)
- Zadanie (138)
7. Przesyłanie i odbieranie informacji za pomocą formularzy (141)
- Przykład zastosowania formularzy (142)
- Tworzenie formularzy (144)
- Pola tekstowe (144)
- Przyciski, pola wyboru oraz przełączniki (145)
- Listy i rozwijane menu (147)
- Obszar tekstowy (149)
- Podsumowanie (150)
- Formularze i JavaScript (150)
- Nazywanie elementów formularza (150)
- Nazywanie przełączników (151)
- Nazywanie opcji (152)
- Odczytywanie i definiowanie wartości w formularzach (153)
- Odczytywanie informacji z pól tekstowych (153)
- Automatyczne wypełnianie pól formularza (154)
- Obszary tekstowe (156)
- Pola wyboru (156)
- Przełączniki (159)
- Rozwijane menu i listy (160)
- Obsługa zdarzeń z użyciem formularzy (161)
- Skrócona postać skryptu (163)
- Rozwijane menu jako narzędzia do nawigacji (163)
- Ostatnie udoskonalenia (165)
- Sposób, w jaki działają narzędzia nawigacyjne na stronie organizacji Lekarze bez Granic (166)
- Podsumowanie (167)
- Zadanie (167)
8. Przetwarzanie informacji za pomocą tablic i pętli (169)
- Praktyczny przykład zastosowania tablic (170)
- Wbudowane tablice JavaScript (170)
- Określanie liczby elementów w tablicy (172)
- Analizowanie elementów tablicy (172)
- Pętle while (174)
- Pętle while i tablice (175)
- Poza granicami tablicy (177)
- Wykorzystywanie wyrażenia array.length w pętlach (177)
- Skrót zwiększający zmienną (178)
- Strzeżcie się nieskończonych pętli (178)
- Pętle for (179)
- Zaznaczanie wszystkich pól na stronie (180)
- Analiza listingu 8.7 (180)
- Tworzenie własnych tablic (182)
- Analiza listingu 8.8 (183)
- Porady wyświetlane na stronie internetowej tej książki (183)
- Wyszukiwanie pustych wyrażeń (184)
- Sprawdzanie ostatniego elementu w tablicy (185)
- Testowanie rozmiarów tablicy (185)
- Funkcja startScroll() (185)
- Uproszczona wersja skryptu (187)
- Zagnieżdżanie pętli (188)
- Tworzenie tablic w trakcie wykonywania skryptów (189)
- Tablice asocjacyjne (190)
- Analiza listingu 8.13 (192)
- Podsumowanie (193)
- Zadanie (194)
9. Zdarzenia zależne od czasu (195)
- Praktyczne przykłady zdarzeń zależnych od czasu (196)
- Programowanie alarmu z użyciem funkcji setTimeout() (196)
- Odwoływanie alarmu z użyciem funkcji clearTimeout() (197)
- Analiza listingu 9.2 (198)
- Powtarzające się zdarzenia zależne od czasu (199)
- Analiza listingu 9.3 (201)
- Funkcja parseInt() i formularze (202)
- Przerywanie odliczania przed rozpoczęciem nowego (202)
- Deklarowanie zmiennych przechowujÄ…cych dane dotyczÄ…ce limitu czasu poza funkcjami (203)
- Opracowywanie zegara z użyciem pętli czasowych (203)
- Analiza listingu 9.4 (204)
- Jak działa licznik na oficjalnej stronie tej książki (205)
- Zasada działania skryptu na stronie Space.com (208)
- Wyznaczanie czasu (210)
- Globalne zmienne i stałe (211)
- Pokaz slajdów (212)
- Analiza listingu 9.7 (213)
- Bezpieczniejsza wersja funkcji rotateImage() (214)
- Powody, dla których deklarowanie zmiennej poza funkcją jest niebezpieczne (214)
- Powody, dla których nie można umieszczać słowa var wewnątrz pętli czasowej (215)
- RozwiÄ…zanie (215)
- Dodatkowy problem (216)
- RozwiÄ…zanie problemu (217)
- Dlaczego zmienna the_images zadeklarowana jest poza funkcjÄ… rotateImage() (218)
- Podsumowanie (218)
- Zadanie (218)
10. Ramki i mapy obrazkowe (219)
- Praktyczny przykład wykorzystania ramek i map obrazkowych (220)
- Ramki (221)
- Podstawowe informacje o ramkach (221)
- Ramki i JavaScript (222)
- Zamienianie obrazów w ramkach (224)
- Zmienianie zawartości dwóch ramek równocześnie (227)
- Ramki wewnÄ…trz ramek (229)
- JavaScript i zagnieżdżanie ramek (230)
- Wyłączanie ramek (231)
- Przechowywanie informacji w ramkach (232)
- Analiza listingu 10.8 (236)
- Mapy obrazkowe (237)
- Podstawowe informacje o mapach obrazkowych (237)
- Mapy obrazkowe i JavaScript (239)
- Sposób, w jaki działa skrypt na stronie serwisu Salon (240)
- Zagnieżdżone ramki na stronie serwisu Salon (241)
- Mapa obrazkowa na stronie serwisu Salon (241)
- Funkcja changeMe() (242)
- Podsumowanie (243)
- Zadanie (243)
11. Sprawdzanie poprawności danych w formularzach, przesyłanie komunikatów i współpraca z programami po stronie serwera (245)
- Praktyczny przykład sprawdzania poprawności danych wpisanych w formularzu (246)
- Sprawdzanie, czy wymagane pola zostały wypełnione (246)
- Analiza listingu 11.1 (249)
- Obsługa ciągów tekstowych (251)
- Dzielenie ciągów tekstowych (252)
- Porównywanie ciągów tekstowych z wyrażeniami regularnymi (260)
- Skrypt weryfikujÄ…cy dane w formularzu na stronie Dictionary.com (264)
- Analiza listingu 11.9 (268)
- Podsumowanie (272)
- Zadanie (273)
12. Zapisywanie danych użytkowników w plikach cookie (275)
- Praktyczny przykład zastosowania plików cookie (276)
- Czym sÄ… pliki cookie? (277)
- Co można, a czego nie można zrobić za pomocą plików cookie? (278)
- Praca z plikami cookie (278)
- Tworzenie plików cookie (279)
- Odczytywanie zawartości plików cookie (279)
- Zmienianie wartości cookie (280)
- Zapisywanie więcej niż jednej informacji (281)
- Ustalanie daty ważności pliku cookie (283)
- Kto może odczytać zawartość plików cookie? (285)
- Cały plik cookie (286)
- Tworzenie wielu plików cookie (286)
- Biblioteki do obsługi plików cookie (287)
- Koszyk z zakupami wykorzystujÄ…cy pliki cookie (288)
- Dodawanie towaru do koszyka (289)
- Sprawdzanie wysokości rachunku (292)
- Funkcja readTheCookie() (293)
- Funkcja checkOut() (294)
- Podsumowanie (295)
- Zadanie (296)
13. Dynamiczny HTML (297)
- Praktyczne przykłady zastosowania języka DHTML (298)
- Podstawowe informacje na temat CSS (299)
- Znacznik <div> (299)
- Pozycjonowanie znaczników div za pomocą CSS (299)
- Ukrywanie znacznika div (301)
- Dzielenie elementów div na warstwy (302)
- JavaScript i DHTML (304)
- Przemieszczanie elementów div (304)
- Animowanie elementów strony za pomocą funkcji setTimeout() oraz clearTimeout() (305)
- Analiza listingu 13.4 (306)
- Zmienianie zawartości elementu div (307)
- Znacznik span i metoda getElementsByTagName() (308)
- Zaawansowane techniki DOM (311)
- Standard W3C DOM (312)
- Tworzenie i dodawanie elementów z użyciem standardu W3C DOM (312)
- Dodawanie tekstu do elementu (313)
- Dodawanie elementów w środku strony oraz ich usuwanie (314)
- Dodatkowe informacje na temat standardu DOM (316)
- Manipulowanie zawartością strony z użyciem standardu DOM (318)
- Zaawansowana obsługa zdarzeń (318)
- Obiekt event (318)
- Dodawanie uchwytów zdarzeń z użyciem skryptu (323)
- Rozwijane menu (326)
- Analiza listingu 13.12 (328)
- Obszar menu (329)
- Podsumowanie (329)
- Zadanie (329)
14. Podstawy modelu Ajax (331)
- Praktyczny przykład zastosowania modelu Ajax (332)
- Wprowadzenie do modelu Ajax (333)
- A jak "asynchroniczność" (335)
- X jak XML (335)
- J jak JavaScript (336)
- Tworzenie i przesyłanie zapytań (336)
- Tworzenie obiektu request (336)
- Definiowanie źródła (337)
- Obsługa otrzymywanych odpowiedzi (337)
- Skrypt wykonywany po uzyskaniu odpowiedzi na zapytanie (339)
- Przesyłanie zapytania (340)
- Pełny skrypt Ajax (340)
- Pobieranie rezultatów (342)
- Demonstracja asynchroniczności (342)
- Analiza listingu 14.2 (344)
- Użyteczność modelu Ajax (346)
- Przycisk Powrót (346)
- Adres URL i zakładki (346)
- Projektowanie stron (346)
- Kiedy korzystać, a kiedy nie korzystać z modelu Ajax (347)
- Źle: "Bo można" (347)
- Źle: "Bo to nowa technologia" (348)
- Źle: "Zastępowanie sprawdzonych rozwiązań czymś nowym i skomplikowanym" (348)
- Dobrze: "Kontekstowa prezentacja danych" (348)
- Dobrze: "Interaktywne formanty" (348)
- Dobrze: "Oszczędność czasu" (349)
- Podsumowanie (349)
- Zadanie (349)
15. XML w języku JavaScript i modelu Ajax (351)
- Praktyczny przykład aplikacji Ajax wykorzystującej język XML (352)
- Google Suggest (354)
- XML (355)
- Zasady rzÄ…dzÄ…ce dokumentami XML (356)
- Nagłówek XML (356)
- Elementy XML (357)
- Atrybuty XML (357)
- Nieprawidłowe znaki XML (358)
- Dokumenty XML z jednym elementem głównym (358)
- Ostatnie uwagi dotyczÄ…ce formatu XML (358)
- Przetwarzanie kodu XML (359)
- Analiza listingu 15.3 (361)
- Internet Explorer, responseXML oraz Ajax po stronie klienta (365)
- Białe znaki w XML (365)
- Aplikacja wyświetlająca potencjalne tłumaczenia (366)
- Wyszukiwanie potencjalnych tłumaczeń (368)
- Wyświetlanie wyników (370)
- Podsumowanie (371)
- Zadanie (372)
16. Ajax po stronie serwera (373)
- Praktyczne przykłady zastosowania modelu Ajax po stronie serwera (374)
- Możliwości serwerów sieciowych (376)
- Języki programowania używane po stronie serwera (377)
- Podstawy języka PHP (379)
- Przesyłanie prostych danych wejściowych do kodu PHP za pomocą zapytań GET (380)
- Przekazywanie danych wejściowych w adresie URL (381)
- Używanie PHP do odczytu danych wejściowych z zapytań GET (382)
- Tworzenie aplikacji Google Suggest przy użyciu zapytań GET modelu Ajax (383)
- Komunikacja z niezależnymi serwerami za pomocą modelu Ajax i języka PHP (384)
- Kod JavaScript dla samodzielnie przygotowanej aplikacji Google Suggest (385)
- Używanie PHP do komunikacji z innymi serwerami (389)
- Ajax i metoda POST (391)
- Formularz zgodny z modelem Ajax (392)
- Używanie modelu Ajax do przesyłania zapytań POST (393)
- Przesyłanie danych XML z przeglądarki na serwer sieciowy (395)
- Żądania HEAD - pobieranie informacji o plikach znajdujących się na serwerze (396)
- Dodawanie nagłówków do odpowiedzi (397)
- Nagłówki i XML (397)
- Problemy z pamięcią podręczną (398)
- Obsługa plików w PHP (398)
- Używanie PHP do tworzenia plików tekstowych i dodawania do nich zawartości (399)
- Odczyt plików w PHP (400)
- Kiedy komunikacja zawiedzie (401)
- Automatyczne aktualizowanie stron internetowych w wyniku modyfikacji pliku znajdujÄ…cego siÄ™ na serwerze (403)
- readFileDoFunction() (405)
- callReadFile() (406)
- callUpdateIfChanged() (407)
- stopTimer() (407)
- Powtórka i chwila oddechu (407)
- Kod PHP używany po stronie serwera (407)
- Podsumowanie (408)
- Zadanie (409)
17. Lista zadań do wykonania (411)
- Funkcje współdzielonej listy zadań (412)
- Pliki z danymi listy zadań (416)
- userInfo.xml (416)
- Lista zadań (417)
- Lista zadań po stronie serwera (418)
- Lista zadań po stronie klienta. Część 1. - kod HTML (420)
- Lista zadań po stronie klienta. Część 2. - kod JavaScript (421)
- Mapa funkcji (421)
- Logowanie i wylogowywanie siÄ™ (422)
- Funkcje zwiÄ…zane z logowaniem (424)
- Funkcje pomocnicze (426)
- Wyświetlanie dostępnych list (430)
- Wyświetlanie określonej listy (433)
- Przetwarzanie zmian wprowadzonych na liście (437)
- Ograniczenia w zakresie manipulowania dokumentami XML (441)
- Dodawanie nowego elementu (443)
- Uwagi podsumowujÄ…ce (445)
- Po stronie klienta czy po stronie serwera? (445)
- Zagadnienia związane z bezpieczeństwem (445)
- Podsumowanie (447)
- Zadanie (447)
18. Debugowanie skryptów JavaScript i Ajax (449)
- Dobre praktyki pisania kodu (450)
- Rozpoczynanie od komentarzy (450)
- Dodawanie kodu (451)
- Unikanie standardowych błędów (451)
- Stosowanie spójnych konwencji nazewniczych (452)
- Unikanie słów zarezerwowanych (452)
- Używanie dwóch znaków równości w testach logicznych (452)
- Poprawne stosowanie cudzysłowów (453)
- Wykrywanie błędów (454)
- Wyświetlanie zmiennych za pomocą instrukcji alert() (454)
- Wyjście poza ramki ostrzegawcze (455)
- Używanie wykrywacza błędów dostępnego w przeglądarce (457)
- Używanie debugerów języka JavaScript (457)
- Debugowanie aplikacji Ajax w przeglÄ…darkach Firefox 1.5 i 2.0 (461)
- Inne narzędzia do debugowania (464)
- Naprawianie błędów (464)
- Archiwizuj programy (464)
- Rozwiązywanie błędów po jednym (464)
- Unikanie "magicznego" kodu (464)
- Szukanie podobnych błędów (465)
- Oczyszczanie umysłu (465)
- Prośba o pomoc (465)
- Podsumowanie (466)
A: Rozwiązania zadań (467)
B: Zasoby (497)
C: Opisy obiektów i funkcji JavaScript (503)
D: Elektroniczny tłumacz z rozdziału 15. oraz aplikacja obsługująca listę zaplanowanych czynności z rozdziału 17. (557)
Skorowidz (573)