Wprowadzenie do HTML5 Autorytety Informatyki


Wprowadzenie do HTML5.
Idz do
Autorytety Informatyki
" Spis treści
" Przykładowy rozdział
Autor: Bruce Lawson, Remy Sharp
" Skorowidz Tłumaczenie: Radosław Meryk
ISBN: 978-83-246-3045-5
Tytuł oryginału: Introducing HTML5 (Voices That Matter)
Katalog książek
Format: 168237, stron: 240
" Katalog online
" Zamów drukowany
Sprawdz, co potrafi HTML5!
katalog
" Jakie nowości wprowadza HTML w wersji 5?
" Jak wykorzystać usługi geolokalizacyjne?
Twój koszyk
" Jak tworzyć dostępne witryny WWW?
HTML5  początkowo po cichu, ostatnio coraz głośniej  zaczyna gościć w naszych przeglądarkach
" Dodaj do koszyka
internetowych. Wbudowane mechanizmy obsługi multimediów, lepsze wykorzystanie formularzy,
nowe struktury i semantyka, dzięki którym Twój serwis stanie się bardziej dostępny, to tylko część
z nowinek ostatniej wersji HTML. Zastanawiasz się, jak wykorzystać go na Twoich stronach?
Cennik i informacje
Ta książka odpowie na to i wiele innych pytań! Kompletne zródło informacji na temat HTML5
jest w zasięgu Twojej ręki. W trakcie lektury poznasz nowe struktury i ich przeznaczenie oraz
" Zamów informacje
zmodyfikowane znaczniki z wcześniejszych wersji. W kolejnym rozdziale zaznajomisz się
o nowościach
szczegółowo z nowymi możliwościami formularzy oraz technikami ich tworzenia. W tej wersji
" Zamów cennik
projektowanie formularzy to naprawdę czysta przyjemność! Ponadto zobaczysz, jak szybko
i łatwo można dodać do strony elementy wideo i audio. Dodatkowo nauczysz się wykorzystywać
Czytelnia mechanizmy do przechowywania danych oraz geolokalizacji. Dzięki tej książce poczujesz powiew
świeżości w świecie stron internetowych!
" Struktura dokumentu HTML
" Fragmenty książek
" Struktury zasadniczych obszarów treści
online
" Wykorzystanie konspektu
" WAI-ARIA
" Wykorzystanie globalnych atrybutów
" Elementy do wprowadzania danych w formularzach
" Natywna obsługa multimediów
" Rozwiązywanie kłopotów z kodekami
" Obsługa wideo w starszych przeglądarkach
" Właściwości elementu Canvas
" Składowanie danych
" Metody dostępu do magazynu danych
" Praca w trybie offline
Kontakt
" Wykorzystanie techniki  przeciągnij i upuść
" Geolokalizacja  możliwości oraz sposoby wykorzystania
Helion SA
Twórz najnowocześniejsze witryny WWW!
ul. Kościuszki 1c
44-100 Gliwice
tel. 32 230 98 63
e-mail: helion@helion.pl
Helion 1991 2011
Spis treści
Podziękowania ........................................................................................................................... 5
Wprowadzenie ........................................................................................................................... 9
ROZDZIAA 1. GAÓWNA STRUKTURA DOKUMENTU 17
........................................................................................................................................17
Korzystanie z nowych elementów strukturalnych HTML5 ......................................22
Formatowanie HTML5 za pomocą CSS ...........................................................................25
Kiedy należy korzystać z nowych elementów strukturalnych HTML5 ................29
Podsumowanie ........................................................................................................................37
ROZDZIAA 2. TEKST 39
Tworzenie struktury zasadniczych obszarów treści ...................................................39
Dodawanie artykułów i komentarzy na blogu .............................................................44
Korzystanie z konspektu .......................................................................................................46
WAI-ARIA ....................................................................................................................................63
Jeszcze więcej nowych struktur! .......................................................................................67
Elementy o zmodyfikowanej definicji .............................................................................73
Atrybuty globalne ...................................................................................................................77
Własności, które nie zostały opisane w tej książce .....................................................80
Podsumowanie ........................................................................................................................81
ROZDZIAA 3. FORMULARZE 83
Kochamy HTML, a teraz jest to miłość z wzajemnością ............................................83
Nowe elementy do wprowadzania danych ..................................................................84
Nowe atrybuty ..........................................................................................................................90
Przykład użycia nowych elementów i atrybutów .......................................................95
Zapewnienie zgodności wstecz ze starszymi przeglądarkami ..............................98
Stosowanie stylów dla nowych pól formularzy oraz komunikaty o błędach ........99
Przesłanianie domyślnych opcji przeglądarek .......................................................... 100
Wykorzystanie JavaScriptu do zaimplementowania
własnego mechanizmu walidacji ............................................................................... 101
Pomijanie walidacji .............................................................................................................. 103
Podsumowanie ..................................................................................................................... 105
ROZDZIAA 4. WIDEO I AUDIO 107
Natywna obsługa multimediów: co, jak i dlaczego? ............................................... 107
Kodeki  prawdziwy horror ............................................................................................ 113
Tworzenie własnych kontrolek ....................................................................................... 118
Dostępność multimediów ................................................................................................ 126
Podsumowanie ..................................................................................................................... 129
4 Wprowadzenie do HTML5. Autorytety informatyki
ROZDZIAA 5. ELEMENT CANVAS 131
Podstawowe informacje o elemencie canvas ........................................................... 132
Rysowanie ścieżek ................................................................................................................ 138
Transformacje: piksele w przebraniu ............................................................................ 141
Przechwytywanie obrazów .............................................................................................. 142
Przetwarzanie pojedynczych pikseli ............................................................................. 146
Animacja rysunków na elemencie canvas .................................................................. 150
Podsumowanie ..................................................................................................................... 156
ROZDZIAA 6. SKAADOWANIE DANYCH 157
Opcje składowania danych .............................................................................................. 158
Web Storage ........................................................................................................................... 158
Web SQL Databases ............................................................................................................ 166
Podsumowanie ..................................................................................................................... 177
ROZDZIAA 7. TRYB OFFLINE 179
Wyciągnięcie wtyczki: przejście do trybu offline ..................................................... 179
Manifest lokalnego bufora ................................................................................................ 180
W jaki sposób serwuje się manifest ............................................................................... 183
Proces przeglądarka-serwer ............................................................................................. 184
applicationCache ................................................................................................................. 186
Wykorzystywanie manifestu do wykrywania połączenia ..................................... 188
Zerowanie bufora ................................................................................................................. 189
Podsumowanie ..................................................................................................................... 190
ROZDZIAA 8. TECHNIKA  PRZECIGNIJ I UPUŚĆ 191
Wprowadzenie w tematykę techniki  przeciągnij i upuść .................................. 192
Interakcje z przeciąganymi danymi .............................................................................. 195
W jaki sposób przeciągać dowolne elementy? ......................................................... 198
Dodawanie własnych ikon przeciągania ..................................................................... 198
Dostępność ............................................................................................................................. 199
Podsumowanie ..................................................................................................................... 201
ROZDZIAA 9. GEOLOKALIZACJA 203
Lokalizowanie odwiedzających ...................................................................................... 203
Metody API ............................................................................................................................. 205
Jak to działa  pod maską : prawdziwa magia ........................................................... 210
Podsumowanie ..................................................................................................................... 211
ROZDZIAA 10. WEB MESSAGING, WEB WORKERS I WEB SOCKETS 213
Czat z wykorzystaniem Web Messaging API .............................................................. 214
Wielowątkowość z wykorzystaniem interfejsu Web Workers ............................. 216
Web Sockets: praca ze strumieniami danych ............................................................ 226
Podsumowanie ..................................................................................................................... 230
I na koniec... ............................................................................................................................ 231
SKOROWIDZ 233
9
Geolokalizacja
Remy Sharp
API GEOLOKALIZACJI to jeden z tych API, które nie mają zupełnie nic wspólnego
ze specyfikacją HTML5. Został opracowany przez organizację W3C, a nie WHATWG.
W rzeczywistości ten interfejs API nigdy nie był częścią oryginalnej specyfikacji Web
Application (choć obecnie odwołuje się do specyfikacji HTML5). Jest jednak tak inte-
resujący, że musieliśmy umieścić jego opis w niniejszej książce. W gruncie rzeczy jest
to kluczowy API dla aplikacji, które mają zostać wyposażone w super  odlotowe efekty
i mechanizmy interakcji.
API jest niewiarygodnie prosty. Za jego pomocą można z łatwością usprawnić dowolne
aplikacje wykorzystujące dane geograficzne. Wystarczy włączyć to API do aplikacji
 to wszystko, czego potrzeba, aby zwolnić użytkowników z obowiązku poruszania
się  palcem po mapie .
Przeglądarka Firefox 3.5+ to obecnie jedyna przeglądarka desktop (w wersji produk-
cyjnej) obsługująca API geolokalizacji. Przeglądarka Chrome zawiera jednak obsługę
tego API w kompilacji deweloperskiej, zatem można się spodziewać, że wkrótce zosta-
nie wyposażona w ten interfejs. Chociaż API nie jest powszechnie wspierany w prze-
glądarkach desktop, wspiera go wiele przeglądarek działających w telefonach komórko-
wych. W szczególności chodzi o implementację WebKit dla urządzeń przenośnych.
O dziwo wersja desktop pakietu WebKit nie obsługuje API geolokalizacji. Jestem jednak
przekonany, że ma to związek z coraz częstszym wsparciem dla technologii GPS w tele-
fonach komórkowych. Fennec, przeglądarka na telefony komórkowe firmy Mozilla,
również wspiera geolokalizację. W interfejs API geolokalizacji jest również wyposażony
PhoneGap  framework do tworzenia aplikacji Open Web  zatem jest on dostępny
także dla tych programistów, którzy tworzą swoje aplikacje w oparciu o technologie
Open Web.
Lokalizowanie odwiedzających
API geolokalizacji daje nam sposób wyznaczania dokładnej pozycji użytkownika
odwiedzającego nasz serwis. W internecie dostępnych jest już bardzo wiele aplikacji
wykorzystujących ten API  począwszy od obsługi map w systemie Google Maps
204 Wprowadzenie do HTML5. Autorytety informatyki
(rysunek 9.1), a skończywszy na bazujących na lokalizacji serwisach społecznościowych,
takich jak Gowalla czy Google Buzz.
RYSUNEK 9.1. Google Maps
wykrywa obsługę
geolokalizacji i dodaje
funkcjonalność
 zlokalizuj mnie
API geolokalizacji oferuje dwie metody pozwalające na uzyskiwanie informacji geo-
graficznych od użytkownika:
1. getCurrentPosition to metoda, która pozwala  jednorazowo pobrać bieżącą
lokalizację użytkownika.
2. Metoda watchPosition śledzi pozycję użytkownika. W celu sprawdzenia, czy nie
uległa zmianie, dopytuje o nią w regularnych odstępach czasu.
Zarówno metoda getCurrentPosition, jak i watchPosition ustalają lokalizację
użytkownika w sposób asynchroniczny. Jest jeden wyjątek do tej reguły: kiedy użyt-
kownik odwiedza serwis po raz pierwszy, przeglądarka wyświetla modalne okno dialo-
gowe z pytaniem o zezwolenie na śledzenie jego lokalizacji. W przypadku gdy apli-
kacja wykorzystuje dowolną z wymienionych metod, większość urządzeń wyświetla
pytanie o zgodę na śledzenie ich lokalizacji. Jeśli nie wyrażą zgody na udzielanie infor-
macji o swojej lokalizacji, to można tak skonfigurować API, aby informacje o błędach
były przekazywane do wskazanej funkcji.
ROZDZIAA 9. Geolokalizacja 205
Oto, co mówi specyfikacja:
 Agenty użytkownika nie mogą wysyłać informacji o lokalizacji do serwisów bez
zgody udzielonej przez użytkownika .
A zatem przeglądarka ma obowiązek poinformować użytkowników, że serwis próbuje
uzyskać informacje o ich bieżącej pozycji. Różne przeglądarki obsługują to w różny
sposób. Przeglądarka Firefox oferuje na przykład niemodalne, nieblokujące ostrzeżenie
z pytaniem do użytkowników o zgodę na współdzielenie lokalizacji (patrz rysunek 9.2).
Oznacza to, że w czasie gdy wyświetla się to ostrzeżenie, aplikacja kontynuuje działanie.
RYSUNEK 9.2. Przeglądarka
Firefox wyświetla pytanie
Inne przeglądarki, na przykład Mobile Safari, wyświetlają modalne okno dialogowe.
o zgodę użytkownika
Wykonywanie kodu aplikacji jest zatrzymywane do chwili, kiedy użytkownik odpowie
na śledzenie jego lokalizacji
(rysunek 9.3).
RYSUNEK 9.3. Przeglądarka
Mobile Safari wyświetla
modalne okno dialogowe,
zatrzymując wykonywanie
aplikacji
Metody API
API geolokalizacji istnieje wewnątrz obiektu navigator i zawiera tylko trzy metody:
getCurrentPosition,
watchPosition,
clearWatch.
206 Wprowadzenie do HTML5. Autorytety informatyki
Metody watchPosition i clearWatch tworzą parę. Metody watch i clear działają
w taki sam sposób, jak metody setInterval i setTimeout. Metoda watchPosition
zwraca unikatowy identyfikator, który jest przekazywany do metody clearWatch
w celu usunięcia określonej obserwacji.
Jak wspomniałem wcześniej, metody getCurrentPosition i watchPosition działają
podobnie, dlatego pobierają takie same argumenty:
procedurę obsługi sukcesu,
procedurę obsługi błędów,
opcje geolokalizacji.
Najprostsze użycie API geolokalizacji może polegać na wysłaniu nazwy procedury
obsługi sukcesu do metody getCurrentPosition:
navigator.geolocation.getCurrentPosition(function (position) {
alert('Znale li my Ci !');
// wykonaj jakie dzia ania z danymi o pozycji
});
Mamy Cię: procedura obsługi sukcesu
Jeśli użytkownik zezwoli przeglądarce na udzielanie informacji o jego lokalizacji i nie
wystąpi jakiś inny błąd, to przeglądarka uruchomi procedurę obsługi sukcesu. Jej nazwa
jest pierwszym argumentem metod getCurrentPosition i watchPosition.
Do tej procedury jest przekazywany obiekt Position posiadający dwie właściwości:
coords (obiekt zawierający informacje o współrzędnych) oraz timestamp. Najbardziej
interesujące informacje są zapisane w obiekcie coords. Obiekt Position zawiera dwie
klasy informacji. Dane pierwszej klasy występują we wszystkich przeglądarkach z obsługą
geolokalizacji: Chrome 5, Firefoksie 3.5+, Mobile Safari i Safari 5 oraz w Androidzie 2.0.
Są to:
readonly attribute double latitude,
readonly attribute double longitude,
readonly attribute double accuracy.
Warto zwrócić uwagę, że atrybut accuracy to miara dokładności pomiaru długości
i szerokości geograficznej wyrażona w metrach. Informację tę można wykorzystać
do pokazania promienia dokładności w przypadku prezentowania pozycji użytkow-
nika na mapie.
Istnieje także druga klasa danych wewnątrz obiektu coords, ale obecnie do tych atrybu-
tów nie są przypisane żadne wartości. We wszystkich współczesnych przeglądarkach
zawierających natywną obsługę geolokalizacji atrybuty te będą miały wartość null,
0 lub NaN. Są to następujące atrybuty:
ROZDZIAA 9. Geolokalizacja 207
readonly attribute double altitude,
readonly attribute double altitudeAccuracy,
readonly attribute double heading,
readonly attribute double speed.
Wykorzystując dane o współrzędnych, można z łatwością odwzorować bieżącą pozycję
użytkownika na mapie:
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function
(position) {
var coords = position.coords;
showMap(coords.latitude, coords.longitude,
coords.accuracy);
});
}
W wielu aplikacjach użytkownik ma do dyspozycji ręczny sposób ustawiania swojej
bieżącej pozycji. Jeśli jest dostępna metoda bazująca na geolokalizacji, to witryna
może oferować zaawansowaną funkcjonalność polegającą na progresywnym ulep-
szaniu strony lub ogólnej prezentacji.
Przykład takiej aplikacji można obejrzeć pod adresem http://owlsnearyou.com. Jeśli
przeglądarka wspiera API geolokalizacji, to po odwiedzeniu serwisu następuje odświe-
żenie strony i wyświetlenie miejsca, w którym użytkownik może polować na sowy
(patrz rysunek 9.4), jeśli to właśnie jest jego zajęcie po całym dniu tworzenia aplikacji
HTML5. Jeśli geolokalizacja nie jest dostępna, serwis wyświetla prośbę o podanie
lokalizacji.
Geo 404: procedura obsługi błędów
Drugim argumentem metod getCurrentPosition i watchPosition jest nazwa pro-
cedury obsługi błędów. Jest to szczególnie ważne w sytuacji, kiedy chcemy dostarczyć
alternatywny sposób wskazywania lokalizacji (na przykład ręcznie) albo powiadomić
użytkownika o wystąpieniu błędów podczas ustalania jego pozycji. Procedura obsługi
błędów może zostać wywołana, w przypadku gdy użytkownik nie zgodzi się na podanie
pozycji. Może się jednak zdarzyć, że użytkownik zezwolił na śledzenie jego pozycji
i aplikacja działająca w telefonie komórkowym ją śledzi, ale telefon chwilowo znalazł
się poza zasięgiem sieci. Taka sytuacja także spowoduje wywołanie procedury obsługi
błędów.
Procedura obsługi błędów otrzymuje jeden argument z obiektem opisującym błąd
pozycji. Obiekt ten ma dwie właściwości:
readonly attribute unsigned short code,
readonly attribute DOMString message.
208 Wprowadzenie do HTML5. Autorytety informatyki
RYSUNEK 9.4. Przykład
progresywnego ulepszania
interfejsu z wykorzystaniem
geolokalizacji
Właściwość code może przybrać jedną z następujących wartości:
PERMISSION_DENIED (wartość liczbowa 1),
POSITION_UNAVAILABLE (wartość liczbowa 2),
TIMEOUT (wartość liczbowa 3).
Właściwość message jest przydatna podczas debugowania, ale nie powinno się ujawniać
jej użytkownikowi. Właściwość message nie zawsze jest dostępna (np. nie jest obecnie
dostępna w przeglądarce Firefox 3.5+).
Dla przykładu gdybyśmy użyli poniższego kodu, a użytkownik nie zgodziłby się
na informowanie o jego pozycji, wyświetliłaby się strona z komunikatem  Brak upraw-
nień: nie możemy określić Twojej pozycji .
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function
(position) {
var coords = position.coords;
showMap(coords.latitude, coords.longitude,
coords.accuracy);
}, function (error) {
var errorTypes = {
1: 'Brak uprawnie ',
2: 'Pozycja niedost pna',
3: 'Up yn limit czasu dania'
ROZDZIAA 9. Geolokalizacja 209
};
alert(errorTypes[error.code] + ": nie mo emy
okre li Twojej pozycji");
});
}
INNE BADY: PO POMYŚLNYM USTALENIU LOKALIZACJI
Innym przypadkiem, gdy należałoby wywołać procedurę obsługi błędów, jest sytuacja, w której w procedurze
obsługi sukcesu okazuje się, że wartość atrybutu accuracy jest ustawiona na bardzo dużą wartość. Kiedyś, pracując
w domu w Brighton na południu Anglii, odwiedzałem stronę, która miała określić moją lokalizację. O dziwo umiej-
scowiła mnie w centrum Londynu! Kiedy sprawdziłem log za pomocą konsoli Firebug, zobaczyłem, że dokładność
żądania geolokalizacji ustawiono na 140 000 metrów  trzeba przyznać, iż 140 kilometrów to dość duży promień
niedokładności! Nie dziwię się, że aplikacja nie miała pewności, gdzie dokładnie jestem. Z tego powodu gorąco
polecam, aby podczas tworzenia aplikacji wykorzystującej geolokalizację sprawdzać także atrybut accuracy w pro-
cedurze obsługi sukcesu. Jeśli atrybut ten ma nadzwyczajnie dużą wartość, lepiej zignorować uzyskane informacje
o pozycji i pozwolić użytkownikowi podać swoją pozycję ręcznie.
Konfiguracja geolokalizacji
Trzecim i ostatnim argumentem metod getCurrentPosition i watchPosition są opcje
geolokalizacji. Wszystkie parametry są nieobowiązkowe i zawierają następujące
informacje:
enableHighAccuracy (typu Boolean, domyślnie false),
timeout (w milisekundach, domyślnie nieskończoność  liczba 0),
maximumAge (w milisekundach, domyślnie 0).
Na przykład, aby zażądać określania pozycji z dużą dokładnością, dwusekundowym
limitem czasu oraz by nigdy nie używać przestarzałych danych geograficznych, możemy
wywołać metodę getCurrentPosition, używając poniższych opcji (success i error
są predefiniowanymi funkcjami):
navigator.geolocation.getCurrentPosition(success, error, {
enableHighAccuracy: true,
timeout: 2000,
maximumAge: 0
});
Opcja enableHighAccuracy nakazuje urządzeniu podjęcie próby uzyskania dokładniej-
szego odczytu długości i szerokości geograficznej. W przypadku urządzeń przenośnych
może to oznaczać wykorzystanie modułu GPS, co wiąże się z większym zużyciem energii.
Zwykle chcemy oszczędzać baterie tak długo, jak się da, dlatego domyślnie atrybut
enableHighAccuracy jest ustawiony na false.
210 Wprowadzenie do HTML5. Autorytety informatyki
Atrybut timeout informuje procedurę geolokalizacyjną o tym, jak długo powinien
czekać na pozycję, zanim zrezygnuje i wywoła procedurę obsługi błędu (odliczanie
nie rozpoczyna się jednak, jeśli aplikacja czeka na potwierdzenie żądania przez użyt-
kownika). W przypadku upływu limitu czasu kod błędu jest ustawiany na wartość 3
(TIMEOUT). Ustawienie parametru timeout na 0 (obecnie wartość domyślna) oznacza
oczekiwanie w nieskończoność.
Ostatnią dostępną opcją jest maximumAge, którą można wykorzystać do poinformowa-
nia przeglądarki o tym, czy mają być używane dane o pozycji, które zostały wcześniej
zbuforowane. Jeśli żądanie nastąpi w czasie odległym o nie więcej niż maximumAge
(w milisekundach), to zostanie zwrócona informacja z bufora i nie będzie wysłane
nowe żądanie o ustalenie pozycji. Wartością opcji maximumAge może być również
Infinity, co jest poleceniem dla przeglądarki, by zawsze zwracała pozycję z bufora.
Ustawienie parametru maximumAge na 0 (wartość domyślna) oznacza, że przeglądarka
musi ustalać nową pozycję przy każdym żądaniu.
Jak to działa  pod maską :
prawdziwa magia
API geolokalizacji wykorzystuje kilka różnych technik ustalania pozycji. Większość
z tych technik to dla zwykłych ludzi (włącznie ze mną) prawdziwa czarna magia. Warto
jednak mieć pogląd na temat tego, co znajduje się  pod maską , ponieważ ma to wpływ
na dokładność uzyskiwanych danych o pozycji.
Jednym z oczywistych sposobów uzyskiwania danych o pozycji jest system GPS.
W funkcjonalność GPS jest wyposażonych coraz więcej urządzeń  począwszy od tele-
fonów komórkowych, a skończywszy na laptopach. Przy założeniu, że mamy dobry
kontakt ze stacją naziemną GPS (która zbiera odczyty z satelitów w celu triangulacji
naszej pozycji  coraz więcej czarnej magii), uzyskujemy bardzo dokładne informacje
na temat położenia. GPS powinien również podać informacje o wysokości (jak widzieli-
śmy, wysokość należy do drugiej klasy właściwości obiektu opisu współrzędnych).
Na razie takie dane nie wyświetlają się w przeglądarkach. Spodziewam się jednak,
że z czasem staną się one dostępne, ponieważ technika urządzeń mobilnych szybko
się rozwija.
Inną metodą ustalania pozycji jest wykorzystanie informacji z sieci. Jest to typowy
sposób stosowany w przeglądarkach desktop, na przykład w Firefoksie. Technika
ta obejmuje wykorzystanie triangulacji WIFI i adresów IP do próby jak najdokładniej-
szego określenia lokalizacji. Programista wywołuje metodę API geolokalizacji z prze-
glądarki, a przeglądarka odwołuje się do serwisu zewnętrznego, na przykład Skyhook
lub Google. Chociaż sposób ten nie gwarantuje takiej dokładności jak GPS (licząc
ROZDZIAA 9. Geolokalizacja 211
w metrach), to może to być bardzo dobre rozwiązanie zastępcze. Trzeba bowiem
pamiętać, że system GPS nie działa dobrze w pomieszczeniach lub obszarach silnie
zurbanizowanych.
Ogólnie rzecz biorąc, nie jest szczególnie istotne, by wiedzieć, co sprawia, że geolo-
kalizacja działa. Jeśli jednak chcemy uzyskać większą dokładność, powinniśmy skorzy-
stać z bardziej energożernych urządzeń (takich jak GPS) i godzić się na to, że baterie
w urządzeniach szybciej się wyczerpią.
Podsumowując, geolokalizacja to bardzo fajna czarna magia.
Podsumowanie
W Wielkiej Brytanii, gdzie ciągle jeszcze często spotyka się czerwone budki telefoniczne,
w każdej z nich można było znalezć tabliczkę z nadrukowanym adresem budki. Dzięki
temu, dzwoniąc na policję lub pogotowie, można było podać swoją pozycję. Oczywi-
ście pomagało to również zagubionym osobom po nocnej imprezie. Dzwoniąc rano
do domu z prośbą o transport, można było powiedzieć, gdzie się jest.
Przeglądarki mają teraz wbudowaną tę funkcję. Jest to jeden z najprostszych API
do zaimplementowania. Jeśli serwis WWW potrzebuje od użytkowników dowolnych
informacji na temat lokalizacji, to z łatwością można usprawnić swoją stronę, wypo-
sażając ją w wywołania nowego API. Jest tylko kwestią czasu, kiedy powstaną takie
serwisy WWW, które po otwarciu natychmiast poinformują nas, gdzie jest najbliższa
ulubiona kawiarnia lub restauracja, bazując na bieżącej porze dnia oraz miejscu,
w którym się znajdziemy.
Skorowidz
.stringify, 163 type=color, 89
A
:heading(), 51 type=date, 86
:invalid, 99 type=datetime, 87
AAC, 115
:-moz-any(), 51 type=email, 85
addEventListener(), 122,
:required, 99 type=month, 87
123, 124
, 17 type=number, 88
Adobe Flash, 14
, 74 type=range, 88, 97
adres e-mail, 85
, 76 type=search, 89
adres URL, 85
, 24, 26, 36, 40, 44, type=tel, 89
Ajax, 13
52, 53, 54, 55, 62 type=text, 84
akcent, 75
, 56 type=time, 87
akcje formularzy, 83