2011-12-16 26 views
53

Bao lâu tôi có thể mong đợi dữ liệu được lưu giữ trong localStorage. Dữ liệu localStorage của người dùng trung bình sẽ tồn tại trong bao lâu? Nếu người dùng không xóa nó, nó sẽ kéo dài đến khi trình duyệt cài đặt lại?Khi nào localStorage bị xóa?

Tính năng này có nhất quán trên các trình duyệt không?

Trả lời

50

dự thảo W3C nói này

đại lý sử dụng cần hết hạn dữ liệu từ các khu vực lưu trữ địa phương chỉ vì những lý do an ninh hoặc khi được yêu cầu để làm như vậy bởi người sử dụng. Các tác nhân người dùng nên luôn tránh xóa dữ liệu trong khi tập lệnh có thể truy cập dữ liệu đó đang chạy.

Vì vậy, nếu trình duyệt theo thông số, nó sẽ vẫn tồn tại cho đến khi người dùng xóa nó trên tất cả các trình duyệt, tôi không tìm thấy bất kỳ phần mềm nào đã xóa trên bất kỳ dự án nào của tôi.

Một bài viết tốt để đọc cũng là http://ejohn.org/blog/dom-storage/

+0

"được yêu cầu để làm như vậy bởi người sử dụng" = khi người dùng xóa dữ liệu. Xem http://www.stevesouders.com/blog/2012/09/10/clearing-browser-data/ để làm sạch cụ thể cho trình duyệt và cách thực hiện. –

2

Nội dung trong localStorage là dai dẳng chừng nào người dùng chọn để xóa các lưu trữ (toàn bộ hoặc một giá trị duy nhất bên trong nó)

Về tính nhất quán giữa các trình duyệt , localstorage hiện có sẵn trên mọi trình duyệt chính, bao gồm IE8 + (xem http://caniuse.com/#feat=namevalue-storage)

1

Trong Chrome trong khi thực hiện 'dữ liệu duyệt web rõ ràng', nếu bạn chọn 'Cookie và dữ liệu plugin và trang web khác' thì dữ liệu sessionStorage sẽ bị xóa.

41

localStorage còn được gọi là Lưu trữ web, Bộ nhớ HTML5 và Bộ nhớ DOM (tất cả điều này có nghĩa là cùng một điều).

localStorage cũng tương tự như sessionStorage, ngoại trừ việc dữ liệu lưu trữ trong localStorage không có thời gian hết hạn, trong khi dữ liệu được lưu trữ trong sessionStorage bị xóa khi phiên duyệt kết thúc (tức là khi trình duyệt được đóng).

localStorage khả dụng trên tất cả các trình duyệt, nhưng sự kiên trì không được triển khai nhất quán. Cụ thể, localStorage có thể bị xóa bởi hành động của người dùng và có thể bị xóa vô tình (ai nghĩ rằng xóa tất cả cookie cũng xóa localStorage?).

Trong Firefox, localStorage sẽ bị xóa khi ba điều kiện này được đáp ứng: (a) dùng xóa lịch sử gần đây, (b) các tập tin cookie được lựa chọn phải được xóa, (c) phạm vi thời gian là "Everything"

Trong Chrome , localStorage sẽ bị xóa khi các điều kiện này được đáp ứng: (a) dữ liệu duyệt web rõ ràng, (b) "cookie và dữ liệu trang web khác" được chọn, (c) khung thời gian là "từ đầu thời gian". Trong Chrome, hiện cũng có thể là delete localStorage for one specific site.

Trong IE, để xóa localStorage: (a) Công cụ - Tùy chọn Internet, (b) Tab chung, (c) xóa lịch sử duyệt khi thoát, (d) đảm bảo "Cookie và dữ liệu trang web" (hoặc "Internet tạm thời tệp và tệp trang web ") được chọn, (e) xem xét bỏ chọn" Bảo tồn dữ liệu trang web yêu thích "ở đầu trang

Trong Safari: (a) Nhấp vào Safari (b) Tuỳ chọn (c) Chọn tab Bảo mật (d) Nhấp Xóa tất cả dữ liệu trang web (e) Nhấp vào Xóa ngay

Opera: Mặc dù các bài viết tuyệt vời trên localStorage từ trang web Opera, tôi chưa tìm thấy hướng dẫn rõ ràng (không có lập trình) cho người dùng về cách xóa localStorage.Nếu bất cứ ai tìm thấy, xin vui lòng để lại một bình luận bên dưới câu trả lời này với liên kết tham khảo.


Các Opera dev site có một bản tóm tắt tuyệt vời của localStorage:

Cách hiện tại của lưu trữ dữ liệu trên client-side - cookie - là một vấn đề :

  • kích thước thấp : Cookie thường có kích thước tối đa khoảng 4 KB, trong đó không tốt cho việc lưu trữ bất kỳ loại dữ liệu phức tạp nào

  • Thật khó cho cookie để theo dõi hai hoặc nhiều giao dịch trên cùng một trang web, trong đó có thể xảy ra trong hai hoặc nhiều tab

  • Cookies có thể khai thác sử dụng các kỹ thuật như cross site scripting, dẫn đến an ninh vi phạm

lựa chọn thay thế khác (ít phổ biến) để cookie bao gồm các kỹ thuật liên quan đến chuỗi truy vấn, biểu mẫu ẩn lĩnh vực, flash dựa trên đối tượng chia sẻ địa phương vv E ach với thiết lập riêng của họ của các vấn đề liên quan đến an ninh, dễ sử dụng, hạn chế kích thước vv Vì vậy, cho đến bây giờ chúng tôi đã sử dụng cách khá xấu để lưu trữ dữ liệu trên kết thúc của người dùng. Chúng ta cần một cách tốt hơn, đó là nơi Lưu trữ trên web đến trong.

lưu trữ Web

W3C lưu trữ Web đặc điểm kỹ thuật được thiết kế như một cách tốt hơn dữ liệu lưu trữ trên client-side. Nó có hai loại khác nhau của bộ nhớ : Bộ nhớ phiên và Bộ nhớ cục bộ.

Cả phiên và bộ nhớ cục bộ thường có thể lưu trữ khoảng 5 MB dữ liệu trên mỗi miền, nhiều hơn đáng kể so với cookie.

Resources:

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/

DOMStorage article on MDN (written by John Resig)

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

+0

Tôi sẽ thêm vào, bạn có thể thực sự xem, sửa đổi và loại bỏ các vlog localStorage này trong "Chế độ phát triển" (nhấn F12), trong tab Lưu trữ. – Davdriver

+0

Có phải trường hợp tương tự với indexDB không? I E.nó cũng có thể bị xóa bởi hành động của người dùng? – Pylinux

Các vấn đề liên quan