หนึ่งชั่วโมงในการบันทึกข้อมูลจากชุมชนท้องถิ่น จามรี vikoristovvati สถานที่ skhovishche danikh JavaScript ความบ้าคลั่งของเว็บจะไม่ทำงานหากไม่มีเว็บเซิร์ฟเวอร์

บทเรียนเกี่ยวกับลักษณะของออบเจ็กต์ HTML5 sessionStorage และ localStorage API ซึ่งออกแบบมาเพื่อบันทึกข้อมูลและจัดเก็บไว้ในอุปกรณ์ของลูกค้า

ข้อมูลลับเกี่ยวกับ sessionStorage และ localStorage

เมื่อใช้ฟังก์ชันการทำงานใดๆ บนเว็บไซต์ Inod ผู้เขียนจะต้องบันทึกข้อมูลลงในอุปกรณ์บัญชีเพื่อให้สามารถเข้าถึงได้ในภายหลัง คุณลักษณะนี้สามารถรับรู้ได้โดยใช้ออบเจ็กต์ HTML5 sessionStorage และ localStorage API

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

คอนเทนเนอร์ localStorage และ sessionStorage จัดเก็บข้อมูลสำหรับองค์ประกอบเพิ่มเติม (คู่คีย์-ค่า) คีย์คือตัวระบุที่เกี่ยวข้องกับค่า โตโต้ เพื่อที่จะจดหรือดึงความหมายออกมา คุณจำเป็นต้องรู้กุญแจของมัน สิ่งนี้มีความสำคัญ แต่จำเป็นเพื่อให้แน่ใจว่าคุณทำงานอย่างใกล้ชิดกับโค้ด JavaScript หากคุณต้องการจัดเก็บออบเจ็กต์ที่ยุบได้ในโหนดแทน หนึ่งในตัวเลือกที่ดีที่สุดคือการทำให้เป็นอนุกรมใน JSON โดยใช้ JSON.stringify()

ถ้า (window.sessionStorage && window.localStorage) ( //sessionStorage และอ็อบเจ็กต์ localtorage ได้รับการสนับสนุน) อื่น ๆ ( // ไม่รองรับอ็อบเจ็กต์ sessionStorage และ localtorage)

วิธีการและความยาวพลังงานของวัตถุ sessionStorage และ localStorage

คุณสามารถตรวจสอบว่าเบราว์เซอร์ของคุณรองรับ API ใดโดยใช้ขั้นตอนต่อไปนี้:

GetItem(key) เมธอด getItem(key) ใช้เพื่อดึงค่าของรายการบนคีย์ที่กำหนด .setItem(key,value) เมธอด setItem(key,value) กำหนดค่าเพื่อเพิ่มองค์ประกอบให้กับต้นแบบด้วยคีย์ที่กำหนด (key) และค่า (value) หากความคล้ายคลึงกันมีองค์ประกอบที่กำหนดโดยคีย์อยู่แล้ว ในกรณีนี้ค่าจะเปลี่ยนไป .key(index) วิธีการคีย์(ดัชนี) จะหมุนคีย์ขององค์ประกอบที่หมายเลขซีเรียล (ดัชนี) ที่อยู่ในโฟลเดอร์นี้ .removeItem(key) เมธอด RemoveItem(key) จะลบองค์ประกอบออกจากคอนเทนเนอร์ sessionStorage หรือ localStorage ที่มีคีย์ที่ระบุ .clear() วิธีการ clear() จะลบองค์ประกอบทั้งหมดออกจากคอนเทนเนอร์ .length พลังความยาวจะหมุนจำนวนองค์ประกอบที่มีอยู่ในคอนเทนเนอร์

ทำงานร่วมกับ localStorage

เราจะดูการทำงานกับระบบ localStorage โดยใช้ตัวอย่างต่อไปนี้:

1. เพิ่มค่าให้ตรงกับสีพื้นหลังของรูปภาพ การเข้าถึงค่านี้จะทำได้โดยใช้ปุ่ม bgcolor

LocalStorage.setItem("bgColor","สีเขียว");

2. เลือกสีพื้นหลังโดยใช้ปุ่ม bgColor ตั้งค่าสีนี้เป็นพื้นหลังของเพจ

Var bgColor = localStorage.getItem("bgColor"); $("body").css("สีพื้นหลัง",bgColor);

3. ค้นหาว่าคีย์คืออะไร ซึ่งจัดเก็บไว้ในองค์ประกอบหนึ่งของอาร์เรย์ localStorage:

4. ดูองค์ประกอบจากคอนเทนเนอร์ localStorage ที่มีคีย์ bgcolor:

LocalStorage.removeItem("bgColor");

5. ลบองค์ประกอบทั้งหมดออกจากคอนเทนเนอร์ localStorage:

LocalStorage.ชัดเจน();

6. วนซ้ำองค์ประกอบทั้งหมดที่อยู่ในคอนเทนเนอร์ localStorage

Var data = (data1: "ค่า", data2: "ค่า", data3: "ค่า" //...) localStorage.setItem("Key", JSON.stringify(data));

8. ลดค่าของวัตถุที่ยุบได้จากองค์ประกอบคอนเทนเนอร์ localStorage

ข้อมูลวาร์ = (); if (localStorage.getItem("คีย์")) ( data = JSON.parse(localStorage.getItem("Key")); )

กลไก sessionStorage ทำงานในลักษณะเดียวกัน

ขนาดพื้นที่เก็บข้อมูล LocalStorage

สำหรับเบราว์เซอร์ส่วนใหญ่ ขนาดคอนเทนเนอร์ localStorage คือ 5 MB ตัวเลขนี้ดีมากและเพียงพอที่จะบันทึกข้อมูลที่จำเป็นสำหรับการดำเนินงานของไซต์

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

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

ลองมาดูสถานการณ์นี้ในบริบทของร้านค้าออนไลน์ซึ่งมีกลไกการค้นหาเพื่อบันทึกข้อมูลเกี่ยวกับสินค้าที่ซื้อ

// สินค้าที่เจ้าของร้านกำลังดูอยู่ในร้าน var viewItem = (id: "5456098", ชื่อ: "LG G4 Smartphone", dateView: new Date() // วันที่สินค้าถูกดูทางออนไลน์ เก็บ); // บันทึกสิ่งที่คุณดู นาราซีเรารวบรวมสินค้าจากที่เก็บข้อมูล localStorage.setItem (viewItem.id, JSON.stringify(viewItem)); // การลบรายการเก่า var key, value; // วนซ้ำข้อมูลทั้งหมดในไวยากรณ์สำหรับ (var i = 0; i

ความปลอดภัยของข้อมูล localStorage และ sessionStorage

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

ทดสอบความเร็วของธุรกรรมด้วยข้อมูลใน localStorage และคุกกี้

มาดูรหัสความเร็ว (ในเวอร์ชันมือถือ) ว่าจะใช้วิธีใดเมื่อดำเนินการข้อมูลใน localStorage และคุกกี้

ในฐานะเบราว์เซอร์ เราจะใช้ Chrome 47, Firefox 42 และ IE11 ซึ่งทำงานบนระบบปฏิบัติการ Windows 7

การทดสอบ 1. ประเภทของวิธีการที่สามารถใช้เพื่ออ่านข้อมูลจาก localStorage และคุกกี้

หมายเหตุ: เบราว์เซอร์ในปัจจุบันกำจัดการดำเนินการอ่านข้อมูลจากที่เก็บข้อมูล localStorage แทนที่จะอ่านจากคุกกี้ ในเบราว์เซอร์ Google Chrome ความแตกต่างนี้เกิดขึ้นหลายสิบครั้งใน Firefox – 9 ครั้งและใน IE 11 – 2 ครั้ง

ทดสอบ 2. ประเภทของวิธีการบันทึกข้อมูลจากการประมวลผลในเครื่องและคุกกี้

หมายเหตุ: การดำเนินการสำหรับการเขียนข้อมูลในอุปกรณ์จัดเก็บข้อมูล localStorage จะถูกระบุในลักษณะเดียวกับในกรณีของคุกกี้ แทนที่จะเป็นในลักษณะเดียวกับเมื่ออ่าน เบราว์เซอร์ Google Chrome บันทึกรายการใน localSorage เพิ่มขึ้น 1.6 เท่า, Firefox 7 เท่า, Internet Explorer 11 แสดงผลลัพธ์เดียวกัน

ทดสอบ 3. เบราว์เซอร์เบราว์เซอร์ที่สามารถบันทึกข้อมูลใน localStorage และอ่านได้

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

เทคโนโลยีที่ทันสมัยสำหรับการบันทึกข้อมูลคุกกี้และพื้นที่เก็บข้อมูลเว็บ

# คุกกี้ (คุกกี้ เบเกอรี่) localStorage และ sessionStorage
พวกเขาออมเงินที่ไหน? บนคอมพิวเตอร์ของ Koristuvach บนคอมพิวเตอร์ของ Koristuvach
ความพร้อมใช้งานของข้อมูล ข้อมูลสามารถใช้ได้ทั้งบนเซิร์ฟเวอร์และฝั่งไคลเอ็นต์ ข้อมูลสามารถเข้าถึงได้จากด้านข้างของเบราว์เซอร์ผ่าน JavaScript API
ขนาดข้อมูลสูงสุด 4 กิโลไบต์ 5 หรือ 10 MB เก็บไว้ในเบราว์เซอร์
จุดแข็งของวิธีการขุดข้อมูล วิธีการทำงานกับคุกกี้ที่ไม่ใช่แบบแมนนวลบนฝั่งไคลเอ็นต์ (เบราว์เซอร์) วิธีการทำงานกับข้อมูลอย่างง่ายและด้วยตนเอง
ถึงเวลาบันทึกข้อมูลของคุณ ชั่วโมง (เมื่อสิ้นสุดภาคการศึกษาหรือหลังสิ้นสุดวันที่กำหนด) ชั่วโมงที่ไม่มีอยู่ (localStorage) หรือหลังจากสิ้นสุดเซสชัน (sessionStorage)
ข้อมูลถูกส่งไปยังเว็บเซิร์ฟเวอร์อย่างไร? ข้อมูลจะถูกส่งไปยังเว็บเซิร์ฟเวอร์เป็นครั้งแรกที่ที่เก็บข้อมูลส่วนหัว HTTP ไม่มีการส่งข้อมูลไปยังเซิร์ฟเวอร์
เบราว์เซอร์ที่รองรับเทคโนโลยีนี้ หนวด Google Chrome 4+, Internet Explorer 8+, Mozilla Firefox 3.5+, Safari 4+, Opera 11.5+
มิฉะนั้น สหภาพยุโรปประสงค์จะแจ้งให้ผู้ใช้ทราบว่ามีการใช้คุกกี้บนเว็บไซต์ ความปลอดภัยของข้อมูลได้รับการรับรองด้วยเทคโนโลยี HTML5 Origin

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

สัตว์ประหลาดท้องถิ่นนี้คืออะไร?

การบันทึกข้อมูลในเครื่องเป็นส่วนหนึ่งของการวัดการบันทึก ซึ่งเป็นส่วนหนึ่งของข้อกำหนด HTML5 มีสองตัวเลือกในการบันทึกข้อมูลจากข้อกำหนด:

  • ที่เก็บข้อมูลในเครื่อง: บันทึกข้อมูลโดยไม่มีวันหมดอายุ และตัวเลือกนี้คือสิ่งที่เราเลือก ซึ่งเป็นสิ่งที่เราต้องการเพื่อให้รายการของเราหายไปในหน้าในภายหลัง
  • พื้นที่เก็บข้อมูลเซสชัน: หากคุณบันทึกข้อมูลไว้เพียงเซสชันเดียว หากคุณปิดแท็บแล้วเปิดใหม่อีกครั้ง ข้อมูลทั้งหมดจะสูญหาย

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

หากคุณคิดถึงรายการใบรับรอง คุณจะต้องมีสิ่งต่อไปนี้:

  • เข้าสู่ระบบซึ่งคุณสามารถโพสต์รายการของเราได้
  • ปุ่ม Enter เพื่อเพิ่มรายการ
  • ปุ่มเพื่อล้างเรื่องที่สนใจทั้งหมด
  • คอนเทนเนอร์สำหรับรายการแบบไม่เรียงลำดับ โดยที่รายการสถานที่ตั้งของเราจะอยู่ก่อนรายการองค์ประกอบ
  • ฉันเดาว่าเราจำเป็นต้องมีคอนเทนเนอร์ DIV เพื่อแสดงการแจ้งเตือนเมื่อคุณพยายามป้อนรายการว่าง

ดังนั้น HTML ของเราอาจมีลักษณะดังนี้:

คุณสามารถใช้คอนเทนเนอร์ HTML มาตรฐาน และด้วย JavaScript ของเรา เราสามารถจัดเก็บทุกสิ่งด้วยเนื้อหาแบบไดนามิก

แม้ว่าเราจะใช้ JQuery ในแอปพลิเคชันนี้ แต่เราจะต้องรวมไว้ในเอกสาร HTML ด้วย

จาวาสคริปต์

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

$("#add").click(function() ( var Description = $("#description").val(); // ถ้าสิ่งที่ต้องทำว่างเปล่า if($("#description").val( ) ) == "") ( $("#alert").html(" คำเตือน!คุณปล่อยให้สิ่งที่ต้องทำว่างเปล่า"); $("#alert").fadeIn().delay(1000).fadeOut(); return false; )

ทั้งหมดที่เราทำคือคลิกที่ปุ่มเพิ่มและทำการทดสอบง่ายๆ เพื่อตรวจสอบว่าผู้ใช้กรอกข้อมูลหรือไม่ อย่างไรก็ตาม div ขั้นสูงจะผสานและหายไปเป็นเวลา 1,000 มิลลิวินาที จากนั้นจึงหายไป

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

// เพิ่มรายการ $("#todos").prepend("

  • "+คำอธิบาย+"
  • "); // ลบสิ่งที่อยู่ใน $("#form").reset(); var todos = $("#todos").html(); localStorage.setItem("todos", todos); return false ;));

    ดังที่คุณทราบ คุณควรใช้ jQuery มาตรฐาน และหากคุณไปที่โฟลเดอร์ในเครื่องทางด้านขวา คุณจะต้องบันทึกคีย์และค่าต่างๆ กุญแจสำคัญคือชื่อที่เรากำหนดในส่วนที่เราเรียกง่ายๆ ว่า "Todos" จากนั้นเราต้องค้นหาว่าเราต้องการบันทึกอะไร และในส่วนนี้ HTML ทั้งหมดที่อยู่ตรงกลางรายการ Todos ku ดังที่คุณทราบเราทุกคนต่างขอความช่วยเหลือจาก jQuery และเราตัดสินใจเปลี่ยนพารามิเตอร์ (เท็จ) เพื่อไม่ให้ส่งคืนแบบฟอร์มและหน้าของเราจะไม่ได้รับการอัปเดต

    ขั้นตอนต่อไปคือการตรวจสอบสิ่งที่เราบันทึกไว้ในพื้นที่ หากเราจำเป็นต้องวางไว้ด้านข้าง บริษัทประกันภัยที่ให้รหัสของเราชื่อ "todos" เราจำเป็นต้องตรวจสอบพื้นฐานของมัน แกนเป็นดังนี้:

    // ถ้าเรามีบางอย่างอยู่ในที่เก็บข้อมูลในตัวเครื่องว่า if(localStorage.getItem("todos")) ( $("#todos").html(localStorage.getItem("todos")); )

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

    // ล้างที่เก็บข้อมูลในเครื่องทั้งหมด $("#clear").click(function() ( window.localStorage.clear(); location.reload(); return false; ));

    รหัสสุดท้ายมีลักษณะดังนี้:

    $("#add").click(function() ( var Description = $("#description").val(); if($("#description").val() == "") ( $( #การแจ้งเตือน").html(" คำเตือน!คุณปล่อยให้สิ่งที่ต้องทำว่างเปล่า"); $("#alert").fadeIn().delay(1000).fadeOut(); return false; ) $("#todos").prepend("

  • "+คำอธิบาย+"
  • "); $("#form").reset(); var todos = $("#todos").html(); localStorage.setItem("todos", todos); return false; )); .getItem( "todos")) ( $("#todos").html(localStorage.getItem("todos")); ) $("#clear").click(function() ( window.localStorage.clear()); ตำแหน่ง .reload();ส่งคืนเท็จ));

    รองรับเบราว์เซอร์

    การรองรับ Web Storage นั้นดีสำหรับข้อกำหนด HTML5 และรองรับโดยเบราว์เซอร์หลักๆ ทั้งหมด และมีความคล้ายคลึงกับ IE8

    บ่อยครั้งที่การเพิ่ม JavaScript ครั้งแรกคือรายการสิ่งที่ต้องทำ แต่ปัญหาของโปรแกรมดังกล่าวคือหลังจากอัปเดตเพจแล้ว รายการทั้งหมดในรายการจะเป็นที่รู้จัก

    ทางออกที่ง่ายที่สุดสำหรับปัญหานี้คือ vikoristannya ท่อในประเทศ(ที่จัดเก็บในตัวเครื่อง) เครื่องมือในเครื่องช่วยให้คุณบันทึกข้อมูลในเครื่องของลูกค้าและเข้าถึงรายการจากเพจใหม่ได้อย่างง่ายดายหลังจากอัปเดตเพจ สำหรับบทความนี้ เราจะเขียนรายการสิ่งที่ต้องทำเล็กๆ น้อยๆ จากชุมชนท้องถิ่น

    สัตว์ประหลาดท้องถิ่นนี้คืออะไร?

    เครือข่ายท้องถิ่น (“เครือข่ายเว็บ”) ในตอนแรกส่วนหนึ่งใช้ข้อกำหนด HTML5 แต่ถูกนำไปใช้กับสภาพแวดล้อมทันที คุณสามารถบันทึกข้อมูลได้สองวิธี:

    • ที่เก็บข้อมูลท้องถิ่น: โพสตีนี สโควิชเชอ โยโก มี วิโคริสตูวาติโม
    • พื้นที่เก็บข้อมูลเซสชัน: บันทึกข้อมูลเพียงเซสชันเดียว หากปิดเพจ ข้อมูลจะสูญหาย

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

    HTML

    ในการสร้างรายการสิ่งที่ต้องทำเราต้องการ:

    • การป้อนข้อความสำหรับการป้อนแทนองค์ประกอบ
    • ปุ่มเพื่อเพิ่มองค์ประกอบลงในรายการ
    • ปุ่มเพื่อล้างรายการ
    • รายการเอง (
        ).
      • І div เพิ่มเติมสำหรับการแสดงความโปรดปราน

      ดังนั้นเค้าโครง HTML จะมีลักษณะดังนี้:

      โครงสร้างนั้นเรียบง่าย ดังนั้นเราจึงสามารถใช้ JavaScript เพิ่มเติมได้

      เพราะ

      จาวาสคริปต์

      เราใช้ jQuery คุณต้องรวมมันไว้เพิ่มเติม

      $("#add").click(function() ( var Description = $("#description").val(); if($("#description").val() == "") ( $( #การแจ้งเตือน").html(" คำเตือน!คุณปล่อยให้สิ่งที่ต้องทำว่างเปล่า"); $("#alert").fadeIn().delay(1000).fadeOut(); return false; )

      ขั้นแรก เราต้องแน่ใจว่าได้คลิกที่ปุ่มเพิ่มและแก้ไข เพื่อให้ช่องป้อนข้อมูลไม่ว่างเปล่า:

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

    • "+คำอธิบาย+"
    • // ใส่รายการ $("#todos").prepend("

      "); // เราจะเห็นทุกสิ่งที่หายไปในช่องข้อความ $("#form").reset(); var todos = $("#todos").html(); localStorage.setItem("todos" , todos) ; กลับเท็จ ;));

        หากต้องการทำงานกับการซิงโครไนซ์ในเครื่อง คุณต้องป้อนคีย์และค่าอื่น รายการของเรามีคีย์ที่เรียกว่า 'todos' และค่าจะเป็นโค้ด HTML ทั้งหมดที่รวมอยู่ในรายการ (สำหรับรายการนี้

        -

        รหัสนี้สามารถแก้ไขได้อย่างง่ายดายโดยใช้ jQuery หากเราตัดสินใจ เราจะตั้งค่าเป็นเท็จเพื่อหลีกเลี่ยงการส่งแบบฟอร์มและไม่เลือกหน้าซ้ำ

        ขั้นตอนต่อไปคือการตรวจสอบโฟลเดอร์ในเครื่อง หากมีค่าด้วยคีย์ 'todos' ให้นำเข้ารายการจากโฟลเดอร์ในเครื่อง:

        ถ้า (localStorage.getItem("todos")) ( $("#todos").html(localStorage.getItem("todos")); )

        เพราะ

        เราบันทึก HTML ที่เตรียมไว้จากแหล่งที่มา และเพียงแทรกโค้ดนี้ลงในรายการ

        รายการสิ่งที่ต้องทำของเราพร้อมแล้ว แต่เราไม่สามารถใช้งานฟังก์ชันการล้างรายการได้อีกต่อไป เมื่อคุณกดปุ่ม รายการทั้งหมดจะปรากฏขึ้นและโหนดภายในเครื่องจะถูกล้าง: คำเตือน!คุณปล่อยให้สิ่งที่ต้องทำว่างเปล่า"); $("#alert").fadeIn().delay(1000).fadeOut(); return false; ) $("#todos").prepend("

      • "+คำอธิบาย+"
      • "); $("#form").reset(); var todos = $("#todos").html(); localStorage.setItem("todos", todos); return false; )); .getItem( "todos")) ( $("#todos").html(localStorage.getItem("todos")); ) $("#clear").click(function() ( window.localStorage.clear()); ตำแหน่ง .reload();ส่งคืนเท็จ));

        $("#clear").click(function() ( window.localStorage.clear(); location.reload(); return false; ));

        พร้อม! รหัสสุดท้ายมีลักษณะดังนี้:

        $(document).ready(function() ( $("#add").click(function() ( var Description = $("#description").val(); if ($("#description")) ).val() == "") ( $("#alert").html("

        รองรับเบราว์เซอร์

        การสังเคราะห์เว็บรองรับเบราว์เซอร์หลักๆ ทั้งหมด โดยเฉพาะ IE8 กลัว warto ต่ำกว่า IE7 และต่ำกว่า

        วิสโนวอค

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

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

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

        HTML5 นำเสนอทางเลือกที่ดีที่สุดแทนคุกกี้ ซึ่งช่วยให้คุณบันทึกข้อมูลบนคอมพิวเตอร์ของคุณได้อย่างง่ายดายและง่ายดาย ข้อมูลนี้สามารถเก็บไว้ในคอมพิวเตอร์ของลูกค้าเป็นเวลาหนึ่งชั่วโมงและจะไม่ถูกส่งไปยังเว็บเซิร์ฟเวอร์ (เนื่องจากมีเพียงนักพัฒนาเท่านั้นที่ไม่สามารถสร้างมันขึ้นมาเองได้) แต่อาจเป็นเรื่องยากมากและในการทำงานกับมันคุณจะต้องมีเพียงไม่กี่อย่างเท่านั้น , มีประสิทธิภาพ 'ektiv JavaScript.

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

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

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

        มีเว็บไซต์อยู่สองประเภท ซึ่งทั้งสองประเภทเกี่ยวข้องกับสองวัตถุ:

        รอยฟกช้ำในท้องถิ่น

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

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

        ความบ้าคลั่งของเซสชันเหล่านี้

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

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

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

        ทั้งเครือข่ายท้องถิ่นและเครือข่ายเซสชันเชื่อมโยงกับโดเมนของเว็บไซต์ ด้วยวิธีนี้ หากคุณบันทึกข้อมูลสำหรับหน้า www..html ในฐานข้อมูลท้องถิ่น ข้อมูลนี้จะพร้อมใช้งานสำหรับหน้า www..html เนื่องจาก เนื่องจากเพจเหล่านี้ไม่พอใจจึงใช้โดเมนเดียวกัน อย่างไรก็ตาม ข้อมูลนี้จะไม่สามารถใช้ได้บนหน้าเว็บของโดเมนอื่น

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

        แม้ว่าข้อกำหนด HTML5 จะไม่กำหนดกฎที่เข้มงวดเช่นเดียวกันเพื่อเพิ่มพื้นที่ให้สูงสุด แต่เบราว์เซอร์ส่วนใหญ่จะถูกจำกัดไว้ที่ 5 MB ในกรณีนี้ คุณสามารถแพ็คข้อมูลได้จำนวนมาก แต่จะไม่เพียงพอหากคุณต้องการใช้เครือข่ายท้องถิ่นเพื่อเพิ่มประสิทธิภาพการทำงานและจัดเก็บไว้ในรูปภาพหรือวิดีโอใหม่ในปริมาณมาก (และดูเหมือนว่าจะเป็นจริง เครือข่ายท้องถิ่นไม่ได้มีไว้สำหรับเป้าหมายดังกล่าว)

        เพื่อประหยัดข้อมูลจำนวนมาก ยังคงมีการพัฒนามาตรฐานฐานข้อมูล IndexedDBช่วยให้สามารถจัดเก็บข้อมูลจำนวนมากในตัวเครื่อง - ใช้ 50 MB สำหรับการเริ่มต้นและมากกว่านั้นตลอดทั้งปี

        อนุรักษ์ไว้อาลัย

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

        ไวยากรณ์สำหรับการบันทึกส่วนข้อมูล:

        localStorage = ข้อมูล;

        // JS localStorage["ชื่อผู้ใช้"] = "อีวาน เปตรอฟ";

        แน่นอนว่าการบันทึกส่วนของข้อความคงที่นั้นยังขาดประเด็นไป ตามกฎแล้ว เราจำเป็นต้องบันทึกข้อมูลตัวแปรใดๆ เช่น วันที่แน่นอน ผลลัพธ์ของการคำนวณทางคณิตศาสตร์ หรือข้อมูลข้อความที่ผู้ใช้ป้อนในช่องแบบฟอร์ม ด้านล่างนี้เป็นตัวอย่างของการบันทึกข้อมูลข้อความที่ป้อนโดย koristuvach:

        การเล่นตลกบนเว็บ

        ฟังก์ชั่น saveData() ( // การดึงค่าของฟิลด์ข้อความ var localData = document.getElementById("localData").value; var sessionData = document.getElementById("sessionData").value; // บันทึกข้อความที่ป้อนลงใน ช่องข้อความใน Local Localstorage ["Localdata"] = Localdata; єMO Zberezhey Danі zy sidelines Var localdata = localstorage ["localData"]; var sessionData = sessionStorage["sessionData"]; (localData != null) ( document.getElementById("localData").value = localData; ) if (sessionData ! = null) ( document.getElementById("sessionData").value = sessionData; ) )

        ด้านข้างมีช่องข้อความสองช่อง: สำหรับโฟลเดอร์ภายในเครื่อง (ด้านบน) และสำหรับโฟลเดอร์เซสชัน (ด้านล่าง) การกดปุ่ม "บันทึก" จะบันทึกข้อความที่ป้อนในช่องข้อความ และการกดปุ่ม "บันทึก" จะแสดงข้อมูลที่บันทึกไว้อื่นๆ ในช่องนั้น

        ไวยากรณ์ของเว็บยังสนับสนุนส่วนขยายของไวยากรณ์สิทธิ์ที่น้อยลงอีกด้วย เนื่องจากกฎของไวยากรณ์นี้ เราจะจัดเก็บชื่อผู้ใช้เป็น localStorage.username แทนที่จะเป็น localStorage["username"] ไวยากรณ์ทั้งสองประเภทมีความสำคัญเท่าเทียมกัน แต่ความแตกต่างระหว่างทั้งสองประเภทมีความสำคัญเป็นพิเศษ

        ความบ้าคลั่งของเว็บจะไม่ทำงานหากไม่มีเว็บเซิร์ฟเวอร์

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

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

        จะเกิดอะไรขึ้นเมื่อคุณเปิดหน้าเว็บเช่นเว็บไซต์ vikoryst จากฮาร์ดไดรฟ์ในเครื่องของคุณ ทุกอย่างถูกเก็บไว้ในเบราว์เซอร์ ดูเหมือนว่าเบราว์เซอร์ Internet Explorer จะได้รับอิทธิพลอย่างมากจากโปรแกรมรวบรวมข้อมูลเว็บ ออบเจ็กต์ localStorage และ sessionStorage ได้รับการยอมรับ และการพยายามปรับแต่งออบเจ็กต์เหล่านั้นจะทริกเกอร์ JavaScript fork

        ในเบราว์เซอร์ Firefox ออบเจ็กต์ localStorage และ sessionStorage จะหายไปและถูกบำรุงรักษา (Modernizr หมายความว่าพวกเขากำลังได้รับการบำรุงรักษา) แต่ทุกสิ่งที่ถูกส่งไปเพื่อบันทึกนั้นไม่มีที่ไหนเลย อย่างไรก็ตามในเบราว์เซอร์ Chrome สิ่งต่าง ๆ ออกไป - ฟังก์ชั่นส่วนใหญ่ของเว็บเบราว์เซอร์ทำงานเป็นการติดตาม แต่ฟังก์ชั่นอื่น ๆ (เช่นฟังก์ชั่น onStorage) ไม่ทำงาน

        ปัญหาที่คล้ายกันเกิดขึ้นกับอินเทอร์เฟซ File API เพิ่มเติม ดังนั้น คุณจะช่วยตัวเองให้พ้นจากปัญหาได้มากด้วยการวางเพจที่กำลังทดสอบบนเซิร์ฟเวอร์ทดสอบเพื่อกำจัดความไม่สอดคล้องกันเหล่านี้

        สนับสนุนความชั่วร้ายของเว็บด้วยเบราว์เซอร์

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

        เบราว์เซอร์ทั้งหมดมีความสามารถในการจัดเก็บข้อมูลภายในและเซสชัน หากต้องการรองรับฟีเจอร์ onStorage คุณต้องมีเบราว์เซอร์เวอร์ชันใหม่กว่า เช่น IE 9, Firefox 4 หรือ Chrome 6

        เวอร์ชันที่เป็นปัญหาที่สุดคือ IE 7 ซึ่งไม่รองรับเว็บเบราว์เซอร์ วิธีแก้ปัญหาชั่วคราวคือ คุณสามารถปฏิบัติต่ออุปกรณ์เว็บโดยใช้คุกกี้ได้ นี่ไม่ใช่วิธีแก้ปัญหาที่ดีเลิศ แต่ใช้งานได้ ฉันไม่รู้ หากคุณต้องการสคริปต์อย่างเป็นทางการสำหรับการปิดบัตรผ่านนี้ มีจุดอ้างอิงที่ดีจำนวนหนึ่งอยู่ในหน้าเบราว์เซอร์ข้าม HTML5 (ในส่วน "พื้นที่เก็บข้อมูลเว็บ")

        การจัดเก็บข้อมูลโดยตรงในเบราว์เซอร์มีข้อดีหลายประการ สาเหตุหลักมาจากการเข้าถึงฐานข้อมูลได้ง่ายและไม่สะดุด ขณะนี้มี 4 วิธีที่ใช้งานอยู่สำหรับสิ่งนี้ (บวกหนึ่งวิธีที่เก่ากว่า):

        1. รอยฟกช้ำในท้องถิ่น
        2. ปีศาจสุดเซ็กซี่
        3. IndexedDB
        4. WebSQL (ล้าสมัย)

        คุ้กกี้

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

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

        การดำเนินการ CRUD ขั้นพื้นฐานด้วยคุกกี้

        // สร้าง document.cookie = "user_name=Ire Aderinokun"; document.cookie = "user_age=25;max-age=31536000;ปลอดภัย"; // อ่าน (ทั้งหมด) console.log(document.cookie); // อัปเดต document.cookie = "user_age=24;max-age=31536000;secure"; // Delete document.cookie = "user_name=Ire Aderinokun;expires=Thu, 01 Jan 1970 00:00:01 GMT";

        ข้อดีของคุกกี้

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

        คุกกี้ไม่กี่

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

        รองรับเบราว์เซอร์

        คุกกี้คือการสนับสนุนขั้นพื้นฐานสำหรับเบราว์เซอร์ที่ยอดเยี่ยมทั้งหมด

        รอยฟกช้ำในท้องถิ่น

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

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

        การดำเนินการ CRUD ขั้นพื้นฐานพร้อมการบรรจบกันในพื้นที่

        // สร้าง const user = (ชื่อ: "Ire Aderinokun", อายุ: 25) localStorage.setItem("user", JSON.stringify(user)); // อ่าน (เดี่ยว) console.log(JSON.parse(localStorage.getItem("user"))) // อัปเดต const updatedUser = ( ชื่อ: "Ire Aderinokun", อายุ: 24 ) localStorage.setItem("user", JSON.stringify(อัปเดตผู้ใช้)); // ลบ localStorage.removeItem("ผู้ใช้");

        ข้อดีของความแออัดในท้องถิ่น

        • ส่งเสริมอินเทอร์เฟซการบันทึกข้อมูลที่ง่ายและใช้งานง่ายยิ่งขึ้น
        • ปลอดภัยยิ่งขึ้นในการบันทึกข้อมูลบนไคลเอนต์
        • ช่วยให้คุณบันทึกข้อมูลได้มากขึ้น (ทั้ง 3 จุดเหมือนกับคุกกี้)

        เยื่อบุลูกตาท้องถิ่นบางส่วน

        • ช่วยให้คุณบันทึกแถวเพิ่มเติมได้

        รองรับเบราว์เซอร์

        ปีศาจสุดเซ็กซี่

        การสังเคราะห์เซสชันเป็น Web Storage API อีกประเภทหนึ่ง นี่เป็นเช่นเดียวกับปรากฏการณ์ในท้องถิ่น ยกเว้นว่าข้อมูลจะถูกบันทึกไว้สำหรับเซสชันในแท็บเบราว์เซอร์เท่านั้น ทันทีที่ผู้ใช้ออกจากระบบและปิดเบราว์เซอร์ ข้อมูลจะถูกล้าง

        การดำเนินการ CRUD พื้นฐานโดยใช้โฮสต์เซสชัน

        // สร้าง const user = (ชื่อ: "Ire Aderinokun", อายุ: 25) sessionStorage.setItem("user", JSON.stringify(user)); // อ่าน (เดี่ยว) console.log(JSON.parse(sessionStorage.getItem("user"))) // อัปเดต const updatedUser = ( ชื่อ: "Ire Aderinokun", อายุ: 24 ) sessionStorage.setItem("user", JSON.stringify(อัปเดตผู้ใช้)); // ลบ sessionStorage.removeItem("ผู้ใช้");

        ข้อดี ข้อเสีย และการสนับสนุนในเบราว์เซอร์จะเหมือนกับในระบบโลคัล

        IndexedDB

        IndexedDB เป็นโซลูชันที่ซับซ้อนและซับซ้อนกว่ามากสำหรับการจัดเก็บข้อมูลในเบราว์เซอร์ เช่นเดียวกับ API ระดับต่ำสำหรับการจัดเก็บข้อมูลที่มีโครงสร้างจำนวนมากบนไคลเอนต์ โดยแก่นของมันคือฐานข้อมูลเชิงวัตถุที่ใช้ JavaScript ซึ่งช่วยให้เราสามารถจัดเก็บและเรียกค้นข้อมูลที่จัดทำดัชนีไว้ด้านหลังคีย์ได้อย่างง่ายดาย

        เว็บSQL

        WebSQL เป็น API สำหรับฐานข้อมูลเชิงสัมพันธ์แบบไคลเอ็นต์ ซึ่งคล้ายกับ SQLite ตั้งแต่ปี 2010 คณะทำงาน W3C ได้ตัดสินใจที่จะดำเนินการเกี่ยวกับข้อกำหนดนี้ และ API นี้ไม่เป็นส่วนหนึ่งของข้อกำหนด HTML อีกต่อไปและไม่ถูกละเมิด