Kiedy jest wyczyszczone localStorage?

112

Jak długo mogę oczekiwać, że dane będą przechowywane w localStorage. Jak długo będą przechowywane dane localStorage przeciętnego użytkownika? Jeśli użytkownik go nie wyczyści, czy potrwa to do ponownej instalacji przeglądarki?

Czy jest to spójne w różnych przeglądarkach?

Bnicholas
źródło

Odpowiedzi:

100

Szkic W3C mówi to

Klienty użytkownika powinny wygasać dane z lokalnych obszarów przechowywania tylko ze względów bezpieczeństwa lub na żądanie użytkownika. Programy użytkownika powinny zawsze unikać usuwania danych, gdy uruchomiony jest skrypt, który może uzyskać dostęp do tych danych.

Jeśli więc przeglądarki postępują zgodnie ze specyfikacją, powinno to trwać, dopóki użytkownik nie usunie jej we wszystkich przeglądarkach, nie znalazłem żadnej, która usunęła w żadnym z moich projektów.

Dobry artykuł do przeczytania to także http://ejohn.org/blog/dom-storage/

Dominic Green
źródło
„Żądany przez użytkownika” = gdy użytkownik wyczyści dane. Zobacz stevesouders.com/blog/2012/09/10/clearing-browser-data, aby dowiedzieć się, jak wyczyścić przeglądarkę i jak to zrobić.
Julien Kronegg,
Lokalną pamięć można wyczyścić podczas aktualizacji Chrome. Zdarzyło mi się to dwukrotnie w ciągu ostatnich 12 miesięcy. Jeśli dane są ważne, włącz i zachęć użytkownika do pobrania odpowiednich danych do pliku, aby w takim przypadku można było je ponownie zainstalować.
user2677034
118

localStorage jest również znany jako Web Storage, HTML5 Storage i DOM Storage (wszystkie oznaczają to samo).

localStorage jest podobny do sessionStorage, z tą różnicą, że dane przechowywane w localStorage nie mają czasu wygaśnięcia, podczas gdy dane przechowywane w sessionStorage są czyszczone po zakończeniu sesji przeglądania (tj. po zamknięciu zakładki przeglądarki / przeglądarki). Magazyn sesji jest używany znacznie rzadziej niż localStorage i istnieje tylko w ramach bieżącej karty przeglądarki - nawet dwie karty załadowane z tą samą witryną będą miały różne dane sessionStorage. Dane sessionStorage przetrwają odświeżanie strony, ale nie zamykają / otwierają karty. Z drugiej strony dane LocalStorage są współużytkowane przez wszystkie karty i okna z tego samego źródła. Dane LocalStorage nie wygasają; pozostaje po ponownym uruchomieniu przeglądarki, a nawet po ponownym uruchomieniu systemu operacyjnego. Źródło

localStorage jest dostępny we wszystkich przeglądarkach, ale trwałość nie jest konsekwentnie wdrażana. W szczególności pamięć localStorage może zostać wyczyszczona działaniem użytkownika i może zostać wyczyszczona nieumyślnie (kto by pomyślał, że wyczyszczenie wszystkich plików cookie powoduje również wyczyszczenie localStorage?).

W przeglądarce Firefox pamięć localStorage jest czyszczona, gdy spełnione są te trzy warunki: (a) użytkownik wyczyści ostatnią historię, (b) pliki cookie są wybrane do wyczyszczenia, (c) zakres czasu to „Wszystko”

W przeglądarce Chrome localStorage jest czyszczona, gdy spełnione są następujące warunki: (a) wyczyść dane przeglądania, (b) wybrana jest opcja „pliki cookie i inne dane witryn”, (c) przedział czasowy to „od początku czasu”. W przeglądarce Chrome można teraz również usunąć localStorage dla jednej określonej witryny .

W IE, aby wyczyścić localStorage: (a) Narzędzia - Opcje internetowe, (b) Zakładka Ogólne, (c) Usuń historię przeglądania przy wyjściu, (d) upewnij się, że „Pliki cookie i dane witryn” (lub „tymczasowe pliki internetowe i pliki witryn internetowych”) ”), (e) rozważ odznaczenie opcji„ Zachowaj dane ulubionych witryn internetowych ”u góry

W przeglądarce Safari: (a) Kliknij Safari (b) Preferencje (c) Wybierz kartę Prywatność (d) Kliknij Usuń wszystkie dane witryn internetowych (e) Kliknij Usuń teraz

Opera: Pomimo doskonałych artykułów na temat localStorage ze strony Opery, nie znalazłem jeszcze jasnych (nieprogramowych) instrukcji dla użytkowników, jak wyczyścić localStorage. Jeśli ktoś znajdzie, zostaw komentarz poniżej tej odpowiedzi z linkiem referencyjnym.


Witryna deweloperów Opera zawiera doskonałe podsumowanie localStorage:

Obecny sposób przechowywania danych po stronie klienta - cookies - to problem:

  • Mały rozmiar: pliki cookie mają zazwyczaj maksymalny rozmiar około 4 KB, co nie jest zbyt dobre do przechowywania wszelkiego rodzaju złożonych danych

  • Plikom cookie trudno jest śledzić dwie lub więcej transakcji w tej samej witrynie, co może mieć miejsce w dwóch lub więcej różnych kartach

  • Pliki cookie mogą być wykorzystywane przy użyciu technik, takich jak cross-site scripting, co prowadzi do naruszenia bezpieczeństwa

Inne (mniej popularne) alternatywy dla plików cookie obejmują techniki obejmujące ciągi zapytań, ukryte pola formularzy, lokalne obiekty współdzielone oparte na technologii Flash itp. Każdy z nich ma własny zestaw problemów związanych z bezpieczeństwem, łatwością użycia, ograniczeniami rozmiaru itp. Tak więc do tej pory używają dość złych sposobów przechowywania danych po stronie użytkownika. Potrzebujemy lepszego sposobu, w którym pojawia się Web Storage.

Pamięć internetowa

Specyfikacja W3C Web Storage została zaprojektowana jako lepszy sposób przechowywania danych po stronie klienta. Ma dwa różne typy pamięci: pamięć sesji i pamięć lokalną.

Zarówno sesja, jak i pamięć lokalna zazwyczaj mogą przechowywać około 5 MB danych na domenę, czyli znacznie więcej niż pliki cookie.

Zasoby:

https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage

https://javascript.info/localstorage

https://dev.opera.com/articles/web-storage/

http://www.quirksmode.org/html5/storage.html

http://www.ghacks.net/2015/02/05/how-to-clear-web-storage-in-your-browser-of-choice/

https://nakedsecurity.sophos.com/2014/11/05/how-to-clear-out-cookies-flash-cookies-and-local-storage/

http://www.opera.com/dragonfly/documentation/storage/

Artykuł DOMStorage na MDN (napisany przez Johna Resiga)

http://ejohn.org/blog/dom-storage/

cssyphus
źródło
2
Dodałbym, że faktycznie możesz zobaczyć, zmodyfikować i usunąć te zmienne localStorage w "Trybie rozwoju" (naciskając klawisz F12), w zakładce Pamięć.
David Tabernero M.,
Czy to samo dotyczy indexDB? Czy można to również wyczyścić działaniem użytkownika?
Pylinux
W IE Oprócz powyższych kroków, użytkownik musi zamknąć przeglądarkę i tylko on może zobaczyć usunięcie localstorage
Kyasa Madhavi
2

Zawartość w magazynie lokalnym jest trwała, o ile użytkownik zdecyduje się wyczyścić pamięć (całkowicie lub pojedynczą wartość w niej)

Jeśli chodzi o spójność między przeglądarkami, localstorage jest obecnie dostępna w każdej większej przeglądarce, w tym IE8 + (patrz http://caniuse.com/#feat=namevalue-storage )

Fabrizio Calderan
źródło
2

W przeglądarce Chrome podczas „czyszczenia danych przeglądania”, jeśli wybierzesz opcję „Pliki cookie oraz inne dane witryn i wtyczek”, dane sessionStorage zostaną usunięte.

Uday Sravan K.
źródło