W rozdziale:
- Wprowadzenie
- Element canvas
- Element video
- Magazyn lokalny
- Robotnicy sieciowi
- Aplikacje offline
- Geolokalizacja
- Formularze HTML5
- Mikrodane
- API historii
Przechowywanie danych w przeglądarce
Web storage to dostępna w HTML5 technika przechowywania informacji na komputerach użytkowników i pobierania ich stamtąd. Sama koncepcja jest podobna do cookie, ale w tym przypadku możliwe jest przechowywanie większych ilości danych. Pliki cookie mają ograniczone rozmiary i przeglądarki wysyłają je do serwera w każdym żądaniu strony (co zajmuje czas i pochłania cenne zasoby). Magazyn Web storage pozostaje na komputerze i można go używać poprzez JavaScript także po załadowaniu strony.
Pytanie do profesora Kodeckiego
P: Czy technologia Web Storage jest częścią specyfikacji HTML5? Dlaczego jest opisana w osobnym dokumencie?
O: Tak, Web Storage wchodzi w skład specyfikacji HTML5. Kiedyś technologia ta była częścią głównej specyfikacji HTML5, ale została wydzielona do osobnego dokumentu, ponieważ wiele osób narzekało, że HTML5 jest zbyt duży. Jeśli kojarzy Ci się to z krojeniem tortu, żeby miał mniej kalorii… to witaj w niezwykłym świecie standardów sieciowych.
Sprawdzanie obsługi technologii Web Storage wykonuje się za pomocą metody nr 1. Jeśli przeglądarka obsługuje technologię Web Storage, to globalny obiekt window ma własność localStorage. Jeśli przeglądarka nie obsługuje technologii Web storage, to własność localStorage jest niezdefiniowana. Jednak z powodu nieszczęsnego błędu w starszych wersjach przeglądarki Firefox test ten powoduje zgłoszenie wyjątku przy wyłączonych cookie. Dlatego należy go umieścić w konstrukcji try-catch.
function supports_local_storage() {
try {
return 'localStorage' in window && window['localStorage'] !== null;
} catch(e){
return false;
}
}
Zamiast pisać tę funkcję własnoręcznie, do sprawdzania obsługi lokalnego magazynu danych można użyć biblioteki Modernizr (1.1 lub nowszej).
Sprawdzanie obsługi lokalnego magazynu danych
if (Modernizr.localstorage) {
// własność window.localStorage jest dostępna!
} else {
// brak standardowej obsługi lokalnego magazynu :(
// możesz spróbować użyć Gears albo innego zewnętrznego rozwiązania
}
Pamiętaj, że w języku JavaScript wielkość liter ma znaczenie. Atrybut Modernizr nazywa się localstorage (same małe litery), natomiast własność DOM ma nazwę window.localStorage (małe i wielkie litery).
Pytanie do profesora Kodeckiego
P: Czy magazyn danych HTML5 jest bezpieczny? Czy ktoś może odczytać z niego informacje?
O: Każdy kto ma fizyczny dostęp do twojego komputera może przejrzeć (a nawet zmodyfikować) zawartość lokalnego magazynu HTML5. W przeglądarce witryny mogą przeglądać tylko wartości, które należą do nich, nie mają natomiast dostępu do cudzych danych. Jest to tzw. ograniczenie wspólnego miejsca pochodzenia.




Wysyłam...
Dodaj komentarz