JavaScript
Interaktywne aplikacje
webowe
JavaScript
jest niezwykle uniwersalnym językiem programowania. Idealnie sprawdza
się na przykład w projektowaniu wszelkiego rodzaju aplikacji
internetowych - od działających pod przeglądarkami, przez te pisane na
urządzenia mobilne, po aplikacje, które obsługują smart TV i
inne inteligentne urządzenia domowe. W związku z tym wokół
JavaScriptu powstał cały ekosystem narzędzi wspomagających i
rozszerzających możliwości tego języka. Wystarczy wspomnieć platformę
programistyczną Electron, pozwalającą tworzyć aplikacje imitujące
oprogramowanie desktopowe, popularny wśród
developerów edytor kodu Visual Studio Code, a także rozmaite
frameworki i biblioteki ułatwiające codzienną pracę programistom
JavaScriptu
Nim jednak zaczniesz zaprzyjaźniać się z ekosystemem tego języka,
warto, byś poświęcił nieco uwagi tzw. czystemu JavaScriptowi. Świetną
okazją do tego będzie praca z tą książką, dzięki której
nauczysz się tworzyć różnego rodzaju aplikacje internetowe z
wykorzystaniem natywnych mechanizmów i możliwości języka
JavaScript. Wraz z podręcznikiem
JavaScript. Interaktywne aplikacje webowe:
- Poznasz podstawy pracy z
HTML i modelami obiektowymi dokumentów (DOM)
- Nauczysz się obsługi
zdarzeń w JavaScripcie
- Opanujesz najważniejsze
umiejętności potrzebne do połączenia JavaScriptu z CSS
- Dowiesz się, czym jest
asynchroniczny JS
- Zdobędziesz wiedzę, dzięki
której zaimplementujesz swoje projekty w internecie
Rozdział
1.
Wstęp
7
W świecie wielu przeglądarek 8
Nie tylko przeglądarki internetowe 8
Czym będziemy się zajmować w tej książce? 9
Narzędzia do pracy z książką 10
Edytory online do pracy z książką 11
Rozdział 2.
Podstawy HTML i DOM 13
Czym są HTML i DOM? 13
Podstawowa struktura strony internetowej 15
Zaczynamy pracę ze znacznikami HTML 16
Wczytywanie skryptów JavaScript 18
Narzędzia deweloperskie w przeglądarce internetowej 21
Rozdział 3.
Podstawy pracy z elementami DOM
27
Pobieranie referencji do elementów DOM 27
Kolekcje referencji do elementów DOM 29
Inne sposoby pobierania kolekcji referencji 33
Wielokrotne wykorzystanie metod querySelector i querySelectorAll 34
Pobieranie wartości tekstowych elementów 35
Tworzenie elementów DOM 37
Ustawienie i edycja atrybutów elementów DOM 39
Aktualizacja drzewa DOM o nowe elementy 41
Tworzenie wielu elementów jednocześnie 44
Usuwanie elementów DOM 46
Filtrowanie elementów DOM 48
Rozdział 4.
Obsługa
zdarzeń 51
Rejestrowanie zdarzeń 51
Obiekt event funkcji obsługi zdarzeń 55
Delegowanie zdarzeń 57
Moment wczytania i pełnego załadowania strony 58
Wyłączenie domyślnych akcji przeglądarki 60
Wybrane zdarzenia ruchu i kliknięć myszy 62
Obsługa zdarzeń klawiatury 65
Dynamiczne tworzenie obrazków 68
Wykrywanie połączenia z internetem 69
Kontrolowane wywoływanie zdarzeń za użytkownika 70
Dodawanie obsługi zdarzeń dla elementów tworzonych
dynamicznie 70
Propagacja zdarzeń i świadome jej wyłączanie 73
Obiekt target oraz currentTarget 76
Rozdział 5.
JavaScript i CSS 79
Ustawianie stylów z poziomu JavaScriptu 79
Dynamiczne dodawanie i usuwanie klas CSS 81
Dynamiczne podmienianie klas CSS 84
Refaktoring przykładowej aplikacji 86
Odczytywanie stylów CSS 88
Określanie pozycji elementu na stronie 90
Przewijanie ekranu do wskazanego elementu 92
Szerokość i wysokość okna przeglądarki 94
Dynamiczna zmiana parametrów media query 97
Rozdział 6.
Podstawowe
metody i obiekty globalne w przeglądarce internetowej 99
Natywne okna dialogowe 99
Kodowanie i dekodowanie znaków 103
Praca z formatem JSON 105
Funkcja setTimeout 109
Wywołania cykliczne setInterval 113
Obiekt location - podstawowe informacje o adresie strony 114
Analiza adresu URL 115
Modyfikacje adresu URL 117
Modyfikacja adresu URL bez przeładowania strony 118
Wykrycie momentu opuszczenia strony 119
Lokalne przechowywanie danych w przeglądarce przy użyciu cookies 120
Nagłówki cookies 120
Co zawierają cookies? 121
Ograniczenia i zagrożenia stosowania wpisów cookies 122
Tworzenie i edycja cookies 124
Odczytywanie i usuwanie cookies 127
Pamięć lokalna localStorage oraz sessionStorage 129
Obiekt navigator 130
Rozdział 7.
Asynchroniczny JavaScript 135
Asynchroniczność i obiekt Promise 135
Tworzenie obietnic 136
Wykorzystanie funkcji zwracających obietnicę 137
Praca z obietnicami przy użyciu składni async/await 139
Obsługa błędów w pracy z obietnicami 141
Wielokrotne wywołania then i catch 142
Przykład 1. - koszyk z zakupami użytkownika 144
Przykład 2. - praca z kamerą użytkownika 146
Praca z wieloma obietnicami jednocześnie 149
Technologia Ajax 151
Przykładowe API dostępne publicznie 154
Ajax i metoda fetch 155
Technologia Ajax z biblioteką axios 157
Technologia Ajax i obiekt XMLHttpRequest 160
Rozdział 8.
Formularze
internetowe 165
Podstawowe informacje o formularzach 165
Elementy stosowane w formularzach 166
Pola tekstowe 166
Pola typu radio i checkbox 168
Pola typu select 170
Dodawanie plików 171
Inne typy pól formularza 173
Elementy do wysyłania formularza 174
Etykiety pól formularza 174
Zdarzenia występujące w formularzach 174
Zdarzenia blur, input oraz change 175
Zdarzenia submit i reset 177
Format danych wprowadzanych w polach formularza 178
Walidacja formularzy 179
Ustawianie stanu focus dla pól formularza 183
Tworzymy formularz wniosku kredytowego 184
Podsumowanie 195
200
stron, 16.0x23.5cm, oprawa miękka