localStorage ถูกล้างเมื่อใด


113

ฉันสามารถคาดหวังว่าข้อมูลจะถูกเก็บไว้ใน localStorage ได้นานเท่าใด ข้อมูล localStorage ของผู้ใช้โดยเฉลี่ยจะยังคงอยู่นานเท่าใด หากผู้ใช้ไม่ล้างมันจะคงอยู่จนกว่าจะติดตั้งเบราว์เซอร์ใหม่หรือไม่

สิ่งนี้สอดคล้องกันในเบราว์เซอร์หรือไม่

คำตอบ:


101

ร่าง W3C บอกสิ่งนี้

ตัวแทนผู้ใช้ควรหมดอายุข้อมูลจากพื้นที่จัดเก็บในเครื่องเพื่อเหตุผลด้านความปลอดภัยหรือเมื่อผู้ใช้ร้องขอ ตัวแทนผู้ใช้ควรหลีกเลี่ยงการลบข้อมูลในขณะที่สคริปต์ที่สามารถเข้าถึงข้อมูลนั้นกำลังทำงานอยู่

ดังนั้นหากเบราว์เซอร์เป็นไปตามข้อกำหนดก็ควรจะยังคงมีอยู่จนกว่าผู้ใช้จะลบออกในทุกเบราว์เซอร์ฉันไม่พบสิ่งที่ถูกลบในโครงการใด ๆ ของฉัน

บทความดีๆที่ควรอ่านคือhttp://ejohn.org/blog/dom-storage/


"ร้องขอให้ดำเนินการโดยผู้ใช้" = เมื่อผู้ใช้ล้างข้อมูล โปรดดูstevesouders.com/blog/2012/09/10/clearing-browser-dataสำหรับการทำความสะอาดเบราว์เซอร์โดยเฉพาะและวิธีการทำ
Julien Kronegg

พื้นที่เก็บข้อมูลในเครื่องสามารถล้างได้เมื่ออัปเดต Chrome สิ่งนี้เกิดขึ้นกับฉันสองครั้งในช่วง 12 เดือนที่ผ่านมา หากข้อมูลมีความสำคัญให้เปิดใช้งานและสนับสนุนให้ผู้ใช้ดาวน์โหลดข้อมูลที่เกี่ยวข้องลงในไฟล์เพื่อให้สามารถติดตั้งใหม่ได้หากเกิดเหตุการณ์นี้ขึ้น
user2677034

120

localStorage เรียกอีกอย่างว่า Web Storage, HTML5 Storage และ DOM Storage (สิ่งเหล่านี้หมายถึงสิ่งเดียวกัน)

localStorage คล้ายกับ sessionStorage ยกเว้นว่าข้อมูลที่จัดเก็บใน localStorage ไม่มีเวลาหมดอายุในขณะที่ข้อมูลที่จัดเก็บใน sessionStorage จะถูกล้างเมื่อเซสชันการเรียกดูสิ้นสุดลง (เช่นเมื่อปิดแท็บเบราว์เซอร์ / เบราว์เซอร์) พื้นที่เก็บข้อมูลเซสชันถูกใช้น้อยกว่า localStorage มากและมีอยู่ในแท็บเบราว์เซอร์ปัจจุบันเท่านั้นแม้แต่สองแท็บที่โหลดด้วยเว็บไซต์เดียวกันก็จะมีข้อมูล sessionStorage ที่แตกต่างกัน ข้อมูล sessionStorage ยังคงอยู่ในการรีเฟรชหน้า แต่ไม่ปิด / เปิดแท็บ ในทางกลับกันข้อมูล LocalStorage จะใช้ร่วมกันระหว่างแท็บและหน้าต่างทั้งหมดจากแหล่งกำเนิดเดียวกัน ข้อมูล LocalStorage ไม่หมดอายุ มันยังคงอยู่หลังจากรีสตาร์ทเบราว์เซอร์และแม้กระทั่งหลังจากรีบูตระบบปฏิบัติการ ที่มา

localStorage พร้อมใช้งานในทุกเบราว์เซอร์ แต่การคงอยู่ไม่ได้ถูกนำมาใช้อย่างสม่ำเสมอ โดยเฉพาะอย่างยิ่ง localStorage สามารถล้างได้โดยการกระทำของผู้ใช้และอาจถูกล้างโดยไม่ได้ตั้งใจ (ใครจะคิดว่าการล้างคุกกี้ทั้งหมดจะเป็นการล้าง localStorage ด้วย)

ใน Firefox localStorage จะถูกล้างเมื่อตรงตามเงื่อนไขทั้งสามนี้: (a) ผู้ใช้ล้างประวัติล่าสุด (b) คุกกี้ถูกเลือกให้ล้าง (c) ช่วงเวลาคือ "ทุกอย่าง"

ใน Chrome localStorage จะถูกล้างเมื่อตรงตามเงื่อนไขเหล่านี้: (a) ล้างข้อมูลการท่องเว็บ (b) "คุกกี้และข้อมูลไซต์อื่น ๆ " ถูกเลือกไว้ (c) กรอบเวลาคือ "ตั้งแต่เริ่มต้น" ใน Chrome ตอนนี้ยังสามารถลบ localStorage สำหรับไซต์ใดไซต์หนึ่งได้

ใน IE เพื่อล้าง localStorage: (a) Tools - Internet Options, (b) แท็บ General, (c) ลบประวัติการเข้าชมเมื่อออก (d) ตรวจสอบว่า "คุกกี้และข้อมูลเว็บไซต์" (หรือ "ไฟล์อินเทอร์เน็ตชั่วคราวและไฟล์เว็บไซต์ ") ถูกเลือกไว้ (e) พิจารณายกเลิกการเลือก" เก็บรักษาข้อมูลเว็บไซต์โปรด "ที่ด้านบน

ใน Safari: (a) คลิก Safari (b) Preferences (c) เลือกแท็บ Privacy (d) คลิก Remove all website data (e) คลิก Remove Now

Opera: แม้จะมีบทความที่ยอดเยี่ยมเกี่ยวกับ localStorage จากไซต์ Opera แต่ฉันยังไม่พบคำแนะนำที่ชัดเจน (ที่ไม่ใช่โปรแกรม) สำหรับผู้ใช้เกี่ยวกับวิธีล้าง localStorage หากใครพบกรุณาแสดงความคิดเห็นด้านล่างคำตอบนี้พร้อมลิงค์อ้างอิง


เว็บไซต์ dev Operaมีบทสรุปที่ดีของ localStorage:

วิธีการจัดเก็บข้อมูลบนฝั่งไคลเอ็นต์ - คุกกี้ - เป็นปัญหาในปัจจุบัน:

  • ขนาดต่ำ: โดยทั่วไปคุกกี้มีขนาดสูงสุดประมาณ 4 KB ซึ่งไม่ค่อยดีสำหรับการจัดเก็บข้อมูลที่ซับซ้อนประเภทใด ๆ

  • เป็นเรื่องยากสำหรับคุกกี้ในการติดตามธุรกรรมสองรายการขึ้นไปบนไซต์เดียวกันซึ่งอาจเกิดขึ้นในแท็บที่แตกต่างกันสองแท็บขึ้นไป

  • คุกกี้สามารถใช้ประโยชน์ได้โดยใช้เทคนิคต่างๆเช่นการเขียนสคริปต์ข้ามไซต์ส่งผลให้เกิดการละเมิดความปลอดภัย

ทางเลือกอื่น ๆ (ที่เป็นที่นิยมน้อยกว่า) สำหรับคุกกี้รวมถึงเทคนิคที่เกี่ยวข้องกับสตริงการค้นหาฟิลด์ฟอร์มที่ซ่อนอยู่อ็อบเจ็กต์ที่ใช้ร่วมกันแบบแฟลชที่ใช้แฟลช ฯลฯ แต่ละรายการมีปัญหาที่เกี่ยวข้องกับความปลอดภัยความสะดวกในการใช้งานข้อ จำกัด ด้านขนาดเป็นต้นจนถึงตอนนี้เรา ใช้วิธีการจัดเก็บข้อมูลที่ไม่ดีพอสมควรในตอนท้ายของผู้ใช้ เราต้องการวิธีที่ดีกว่าซึ่งเป็นที่มาของ Web Storage

ที่เก็บข้อมูลบนเว็บ

ข้อกำหนด W3C Web Storage ได้รับการออกแบบให้เป็นวิธีที่ดีกว่าในการจัดเก็บข้อมูลบนฝั่งไคลเอ็นต์ มีพื้นที่เก็บข้อมูลสองประเภท: Session Storage และ Local Storage

โดยทั่วไปทั้ง Session และ Local Storage จะสามารถจัดเก็บข้อมูลได้ประมาณ 5 MB ต่อโดเมนซึ่งมากกว่าคุกกี้อย่างมาก

แหล่งข้อมูล:

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/

บทความ DOMStorage เกี่ยวกับ MDN (เขียนโดย John Resig)

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


2
ฉันจะเพิ่มคุณสามารถดูแก้ไขและลบ vars localStorage เหล่านี้ได้ใน "โหมดการพัฒนา" (กด F12) ในแท็บที่เก็บข้อมูล
David Tabernero M.

เป็นกรณีเดียวกันกับ indexDB หรือไม่? นอกจากนี้ยังสามารถล้างโดยการกระทำของผู้ใช้?
Pylinux

ใน IE นอกเหนือจากขั้นตอนข้างต้นผู้ใช้จำเป็นต้องปิดเบราว์เซอร์แล้วมีเพียงเขาเท่านั้นที่สามารถเห็นการลบ localstorage
Kyasa Madhavi

2

เนื้อหาใน localstorage จะคงอยู่ตราบเท่าที่ผู้ใช้เลือกที่จะล้างที่เก็บข้อมูล (ทั้งหมดหรือค่าเดียวภายใน)

เกี่ยวกับความสอดคล้องกันในเบราว์เซอร์ปัจจุบัน localstorage มีให้บริการในเบราว์เซอร์หลักทุกตัวรวมถึง IE8 + (ดูhttp://caniuse.com/#feat=namevalue-storage )


2

ใน Chrome ขณะดำเนินการ 'ล้างข้อมูลการท่องเว็บ' หากคุณเลือกตัวเลือก 'คุกกี้และไซต์อื่น ๆ และข้อมูลปลั๊กอิน' ข้อมูลที่จัดเก็บข้อมูลเซสชันจะถูกลบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.