HTML Local Storage
- ບ່ອນໜ້າຫນ້າທີ່ໄປຫນັງ HTML5 Drag and Drop
- ບ່ອນໜ້າຫນ້າທີ່ຕໍ່ໄປ HTML5 Application Cache
HTML Local Storage: ບຸງຄຸນກວ່າ cookies.
ຫຍັງຈະເອີ້ນວ່າ HTML Local Storage?
ກ່າວໂດຍການບັນຄັບພາບລະບາຍທີ່ມາຈາກພາກພື້ນທຳເວັບຂາວ (Local Storage), ຄວາມປະສົງພາບຂອງ web ສາມາດບັນຄັບຂໍ້ມູນຢູ່ພາບລະບາຍທີ່ຢູ່ພາບລະບາຍຂອງຜູ້ຄົນ.
ກ່ອນ HTML5, ຂໍ້ມູນຂອງຄວາມປະສົງພາບບໍ່ສາມາດບັນຄັບໄດ້ໃນ cookie, ລວມທັງການຮ້ອງຂໍຈາກສະຖານທີ່. ການບັນຄັບພາບລະບາຍທີ່ມາຈາກພາກພື້ນທຳເວັບຂາວແມ່ນຄວາມປອດໄພຫຼາຍຫຼາຍ ແລະສາມາດບັນຄັບຂໍ້ມູນຫຼາຍຫຼາຍຂອງພາບລະບາຍທີ່ມາຈາກພາກພື້ນທຳເວັບຂາວທີ່ບໍ່ດັງຄວາມສະຫຼາກຂອງເວັບໄຊ.
ບໍ່ດຽວກັບ cookie, ການບັນຄັບຂອງການບັນຄັບແມ່ນຫຼາຍຫຼາຍຫຼາຍ (ຢ່າງໜ້ອຍ 5MB), ແລະຂໍ້ມູນຈະບໍ່ຖືກສົ່ງໄປຫາສະຖານທີ່ບໍລິການ.
ການບັນຄັບພາບລະບາຍທີ່ມາຈາກພາກພື້ນທຳເວັບຂາວ (origin) (ຈາກເຂດດ້ານເຂດແລະຂໍ້ຕາມ). ທຸກໆໜ້າ, ຈາກພາກພື້ນທຳເວັບຂາວ, ສາມາດບັນຄັບຂໍ້ມູນຄືກັນ ແລະເຂົ້າເຖິງຂໍ້ມູນດັ່ງກ່າວ.
ການສະໜັບສະໜຸນບາຣເບີ້
ອີກຄັນໃນຕາລາງຈະສະແດງຄຳຕາມທີ່ບັນດາບາຣເບີ້ສະໜັບສະໜຸນການບັນທຶກທີ່ພາຍໃນຄົນໃຊ້:
API | |||||
Web Storage | 4.0 | 8.0 | 3.5 | 4.0 | 11.5 |
ໂອບາສການ HTML 本地存储
ການບັນທຶກທີ່ພາຍໃນ HTML ສະໜັບສະໜຸນສອງໂອບາສການໃນທີ່ພາຍໃນຄົນໃຊ້:
- window.localStorage - ບັນທຶກຂໍ້ມູນທີ່ບໍ່ມີວັນຂອງການຫັກ
- window.sessionStorage - ບັນທຶກຂໍ້ມູນໃຫ້ກັບຄັນສະຖານທີ່ຂອງການເຂົ້າຫາ (ຂໍ້ມູນຈະຖືກລຶບອອກເວລາທີ່ບັນດາຄົນປິດບານບາດຫວ່າງການເຂົ້າຫາ)
ບໍ່ວ່າທ່ານກຳລັງໃຊ້ການຄັດພິນພາກສະຖານທີ່ທີ່ຢູ່ພາຍໃນ, ທ່ານຄວນກວດກາການສະໜັບສະໜຸນຂອງ localStorage ແລະ sessionStorage:
if (typeof(Storage) !== "undefined") { // ການຂັດແຍ່ງສຳນັກງານ localStorage/sessionStorage } else { // ຂ້ອຍບໍ່ສາມາດສະໜັບສະໜຸນ Web Storage .. }
ໂອບາສການ localStorage
ໂອບາສການ localStorage ແມ່ນບັນທຶກຂໍ້ມູນທີ່ບໍ່ມີວັນຂອງການຫັກ. ເວລາທີ່ບັນດາຄົນປິດບານບາດຫວ່າງການບັນທຶກ, ຂໍ້ມູນຈະບໍ່ຖືກລຶບອອກ, ແລະຈະມີຄວາມສາມາດໃນມື້, ອາທິດ, ຫຼືປີທີ່ຈະຕໍ່ມາ:
ຕົວຢ່າງ
// ບັນທຶກ localStorage.setItem("lastname", "Gates"); // ຊອກຫາ document.getElementById("result").innerHTML = localStorage.getItem("lastname");
ຄວາມເຫັນທີ່ມີຄວາມຈິງ:
- ສ້າງຄຳຂັດແຍ່ງ/ຄຳຂັດແຍ່ງ localStorage, ທີ່: name="lastname", value="Gates"
- ຊອກຫາຄຳຂັດແຍ່ງ "lastname" ແລະບັນທຶກມັນເຂົ້າໃນປະກອບສັບ id="result"
ບົດສະຫຼຸບນີ້ຍັງສາມາດຂຽນເທີງ:
// ບັນທຶກ localStorage.lastname = "Gates"; // ຊອກຫາ document.getElementById("result").innerHTML = localStorage.lastname;
ສຳນັກງານການລຶບ "lastname" localStorage ແມ່ນ:
localStorage.removeItem("lastname");
ຄໍາເຫັນ: ຊື່/ຄຳຂັດແຍ່ງຈະບັນທຶກເປັນຄຳຂັດແຍ່ງ. ຖ້າທ່ານຕ້ອງການ, ບໍ່ວ່າຫຍັງຫຼາຍຫຼາຍກວ່ານັ້ນທ່ານຄວນລະວັງປ່ຽນຄຳຂັດແຍ່ງນີ້ເປັນຮູບແບບອື່ນ:
ບົດສະຫຼຸບນີ້ກ່າວເຖິງຄຳນັບຄະດີຂອງຄົນໃຊ້ຊົງຄະແນນລະຫວ່າງການກົດດັນຕັນບານທີ່. ໃນລະຫວ່າງລະບົບລາຍການ, ມາສະແດງຄຳຂັດແຍ່ງຈະຖືກປ່ຽນເປັນຈຳນວນ, ແລະນັ້ນຈະຕື່ມຄະດີກັບຄຳນັກບັນທຶກ:
ຕົວຢ່າງ
if (localStorage.clickcount) { localStorage.clickcount = Number(localStorage.clickcount) + 1; } else { localStorage.clickcount = 1; } document.getElementById("result").innerHTML = "ທ່ານໄດ້ກົດລະບຽບບັນຊີນັ້ນ " + localStorage.clickcount + " ຄັ້ງ.";
sessionStorage ເປັນບັນດາ sessionStorage
sessionStorage ເປັນບັນດາ sessionStorage ທີ່ບໍ່ກ່ຽວກັບ localStorage ທີ່ພຽງແຕ່ບັນດາ sessionStorage ທີ່ພຽງແຕ່ບັນດາ sessionStorage. ຖ້າຜູ້ນຳໃຊ້ປິດໜ້າບັນຊີສະໜາມບັນຊີຫນັງບັນຊີຈະຖືກກຳຈັດລົງ.
ຕົວຢ່າງນີ້ຈະຂຽນຄຳປິດປະຕູບັນຊີທີ່ຄົນນາຍນົດກົດລະບຽບບັນຊີນັ້ນໃນ session ນີ້:
ຕົວຢ່າງ
if (sessionStorage.clickcount) { sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1; } else { sessionStorage.clickcount = 1; } document.getElementById("result").innerHTML = "ໃນ session ນີ້,ທ່ານໄດ້ກົດລະບຽບບັນຊີນັ້ນ " + sessionStorage.clickcount + " ຄັ້ງ.";
- ບ່ອນໜ້າຫນ້າທີ່ໄປຫນັງ HTML5 Drag and Drop
- ບ່ອນໜ້າຫນ້າທີ່ຕໍ່ໄປ HTML5 Application Cache