2011-12-14 31 views
17

Dowiedziałem się różnicy między sessionStorage (trwałe podczas sesji) i localStorage (trwałe na zawsze, jeśli nie usunięte).Kiedy należy używać html5 sessionStorage?

Widzę, że localStorage może być używana jako lepsza wersja pliku cookie. (większy rozmiar, brak podróży do serwera dla każdego żądania HTTP takiego jak plik cookie).

Ale w przypadku sessionStorage, myślę, że , kiedy powinienem go skutecznie używać?

Myślałem o wprowadzeniu danych użytkownika do pól tekstowych na stronie A, a następnie przeniesie się na stronę B w obrębie tej samej karty lub okna przeglądarki, strona B może wyszukać sesjęStorage.

Nie mogę naprawdę zgadnąć więcej niż powyższy scenariusz. Czy ktoś może mi powiedzieć, w jaki sposób można użyć sessionStorage?

Odpowiedz

19

Z interfejsami dynamicznymi sterowanymi ajax'em wiele razy nic nie zapisuje aktualnego stanu interfejsu (np. Która karta jest wybrana). sessionStorage może być używany do przechowywania stanu interfejsu, więc po powrocie na stronę można przywrócić ekran w taki sposób, w jaki użytkownik go oglądał.

Innym zastosowaniem byłoby, jeśli na kilku stronach pracujesz nad jednym obiektem, możesz zapisać identyfikator jako zmienną globalną: currentInvoiceId.

Ustawienia użytkownika, które są potrzebne na każdej stronie, takie jak specjalny układ lub szablon, można załadować raz z góry i umieścić w sessionStorage dla łatwego dostępu.

Niektóre rzeczy, które użytkownik chce widzieć tylko raz dla każdego logowania, np. Wyskakujące okienko wiadomości. Możesz zapisać, że już to widzieli w sessionStorage. Będzie to również działać w przypadku działań, które użytkownik chce wykonywać tylko raz na logowanie.

Jest to dobra alternatywa dla przesyłania danych między stronami przy użyciu stanu widoku, ukrytych pól <input> lub parametrów adresu URL.

+1

Interesujące, mogę wreszcie usunąć te brzydkie ukryte dane wejściowe lub div ze stron HTML :) –

+0

Czy jest jakiś pożytek z sessionStorage w aplikacjach z jedną stroną, gdzie stan można łatwo zapisać w pamięci (obiekt javascript)? –

+0

@ PauFracés Może tylko zachowanie stanu na wypadek awarii przeglądarki. Do bani wypełnia formularz, powoduje awarię przeglądarki i wszystko traci. – ThinkingStiff

Powiązane problemy