LocalStorage มี API สองตัวในเบราว์เซอร์: LocalStorage และ SessionStorage ซึ่งมีอยู่ในวัตถุหน้าต่าง: LocalStorage สอดคล้องกับ window.localstorage และ SessionStorage สอดคล้องกับ Window.sessionStorage
ความแตกต่างระหว่าง LocalStorage และ SessionStorage ส่วนใหญ่เกิดจากการอยู่รอด
การใช้งานขั้นพื้นฐานLocalStorage.SetItem (B, Isaac); ชื่อคีย์นี่คือ blocalstorage.removeitem (b);ขอบเขต
บทบาทของฟังก์ชั่นที่นี่หมายถึง: วิธีแยกการจัดเก็บข้อมูลท้องถิ่นระหว่างหน้าต่างๆ (คุณไม่สามารถอ่านพื้นที่ท้องถิ่นของ Tencent ในหน้าของ Baidu, Hahaha)
LocalStorage สามารถอ่าน/แก้ไขข้อมูล LocalStorage เดียวกันได้ตราบใดที่โปรโตคอลเดียวกันชื่อโฮสต์เดียวกันและพอร์ตเดียวกัน
SessionStorage นั้นเข้มงวดกว่า LocalStorage
การอยู่รอดLocalStorage นั้นถาวรในทางทฤษฎีและมีประสิทธิภาพนั่นคือมันจะไม่หายไปหากไม่ได้ใช้ความคิดริเริ่ม อย่างไรก็ตามควรสังเกตว่าในเว็บวิวของเบราว์เซอร์บนอุปกรณ์มือถือหรือเว็บวิวที่ใช้โดยแต่ละแอพดั้งเดิมการจัดเก็บข้อมูลไม่น่าเชื่อถือ ) ชัดเจน.
ระยะเวลาการอยู่รอดของ SessionStorage ตามชื่อที่แนะนำนั้นคล้ายกับเซสชั่นตราบใดที่เบราว์เซอร์ถูกปิด (รวมถึงหน้าแท็บเบราว์เซอร์) มันจะถูกล้างออก เนื่องจากระยะเวลาการอยู่รอดของ SessionStorage นั้นสั้นเกินไปสถานการณ์แอปพลิเคชันจึงมี จำกัด มาก แต่ในทางกลับกันจึงไม่ใช่เรื่องง่ายที่จะมีเงื่อนไขที่ผิดปกติและเชื่อถือได้มากขึ้น
โครงสร้างข้อมูลLocalStorage เป็นคู่คีย์-ค่าคู่ (ประเภทข้อมูล Key-Value (KV) ซึ่งง่าย แต่ง่ายต่อการขยายตราบใดที่ใช้ในวิธีการเข้ารหัสเพื่อแปลงวัตถุที่ต้องการจัดเก็บ LocalStorage ไว้ในสตริง สามารถรองรับได้อย่างง่ายดาย ตัวอย่างเช่น: แปลงวัตถุเป็นสตริง JSON คุณสามารถสร้างวัตถุที่เก็บข้อมูลได้ นอกจากนี้สำหรับประเภทของค่าคีย์สำหรับชนิดข้อมูลลักษณะเฉพาะของคีย์ก็มีความสำคัญมาก
เวลาหมดอายุน่าเสียดายที่ LocalStorage ไม่รองรับเวลาการตั้งค่า
ชุดฟังก์ชั่น (คีย์, ค่า) {var curtime = new date () Sequence} ฟังก์ชั่นรับ (คีย์, exp) // exp เป็นเวลาการตั้งค่าของการตั้งค่า {var value = localstorage.getItem (คีย์); วัตถุ JSON if (วันที่ใหม่ (). getTime () -dataobj.time> exp) // ถ้าเวลาปัจจุบัน -minus องค์ประกอบการจัดเก็บที่กำหนดไว้ในเวลา> เวลาหมดอายุ {console.log (หมดอายุ); ////พรอมต์สำหรับ หมดอายุ} else {console.log (value =+dataObj.val);}}ความจุ
ในปัจจุบันอุตสาหกรรมนั้นรวมเป็นหนึ่งเดียวถึง 5 เมตรซึ่งมีขนาดใหญ่กว่าคุกกี้ 4K มากซึ่งประหยัดปีป่าเล็กน้อย
ขีด จำกัด ชื่อโดเมนเนื่องจากกลยุทธ์การรักษาความปลอดภัยของเบราว์เซอร์การจัดเก็บข้อมูลในท้องถิ่นไม่สามารถข้ามโดเมนได้และไม่สามารถถ่ายทอดชื่อโดเมนย่อยได้
การรักษาที่ผิดปกติในสภาพแวดล้อมของเบราว์เซอร์ในปัจจุบันการจัดเก็บข้อมูลในพื้นที่ไม่ได้มีความเสถียรอย่างสมบูรณ์ ฉันคิดว่าการจัดเก็บข้อมูลในพื้นที่เป็นเพียงวิธีการเพิ่มประสิทธิภาพของการแปลทรัพยากร การประมวลผลที่ผิดปกติของ localstorage มักใช้ในการจับ/กระบวนการผิดปกติด้วยการลอง/จับ
วิธีทดสอบว่าเบราว์เซอร์ปัจจุบันของผู้ใช้รองรับ LocalStorage หรือไม่วิธีการทั่วไปในปัจจุบันคือการตรวจสอบว่ามี Window.LocalStorage อยู่หรือไม่ แต่เบราว์เซอร์บางตัวมีข้อบกพร่อง ดังนั้นฉันขอแนะนำให้คุณสามารถพิจารณาได้ว่าเบราว์เซอร์รองรับ LocalStorage โดย SET/รับข้อมูลการทดสอบในโครงสร้างการลอง/จับได้หรือไม่
ความเข้ากันได้ของเบราว์เซอร์ วิธีการดีบักแผงการจัดเก็บข้อมูล -พื้นที่จัดเก็บข้อมูลและแหล่งเก็บข้อมูล -แผงจัดเก็บข้อมูลในเครื่องมือนักพัฒนา Chrome สามารถดูข้อมูล LocalStorage ภายใต้ชื่อโดเมนปัจจุบัน
ไม่สามารถทำซ้ำ setim () บนอุปกรณ์ iOSนอกจากนี้เมื่อบางครั้ง SetItem () ถูกตั้งค่าบน iPhone/iPad ข้อผิดพลาด quota_exceeded_err จะปรากฏขึ้นในเวลานี้
ปลั๊กที่แนะนำ -ในstore.js
Mozilla/localfarage
ท้องถิ่น
ข้างต้นเป็นคำอธิบายโดยละเอียดเกี่ยวกับการจัดเก็บ HTML5 ที่แนะนำโดย Xiaobian ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Vevb Wulin!