Mengapa data saya tidak boleh disimpan dalam storan setempat?

PHPz
Lepaskan: 2024-01-03 11:01:35
asal
789 orang telah melayarinya

Mengapa data saya tidak boleh disimpan dalam storan setempat?

Mengapa localstorage tidak boleh menyimpan data saya?

Dalam pembangunan web, kami sering menggunakan storan setempat untuk menyimpan dan mendapatkan semula data Ini adalah mekanisme untuk penyimpanan data jangka panjang di sisi penyemak imbas. Walau bagaimanapun, kadangkala kami menghadapi situasi di mana localstorage tidak dapat menyimpan data Artikel ini akan memperkenalkan beberapa sebab biasa dan memberikan contoh kod khusus.

  1. Had kapasiti: storan setempat mempunyai had kapasiti, biasanya sekitar 5MB. Jika anda cuba menyimpan lebih banyak data daripada had ini, simpanan akan gagal. Masalah ini boleh dielakkan dengan memeriksa storan setempat untuk baki ruang.
if (localStorage.getItem('data') === null || 
    (localStorage.getItem('data') && 
    localStorage.getItem('data').length < 5 * 1024 * 1024)) {
  localStorage.setItem('data', '这是一段数据');
} else {
  console.log('localstorage容量已满');
}
Salin selepas log masuk
  1. Penghadan storan: localstorage hanya boleh menyimpan data jenis rentetan Jika anda cuba menyimpan jenis lain (seperti objek, tatasusunan, dll.), localstorage tidak akan dapat menyimpan data dengan betul. Masalah ini boleh diselesaikan dengan menggunakan kaedah JSON.stringify()JSON.parse().
var data = {name: 'John', age: 25};
localStorage.setItem('data', JSON.stringify(data));

var storedData = JSON.parse(localStorage.getItem('data'));
console.log(storedData.name); // 输出:John
console.log(storedData.age); // 输出:25
Salin selepas log masuk
  1. Mod privasi penyemak imbas: Sesetengah penyemak imbas akan melarang penggunaan storan setempat dalam mod privasi, kerana storan setempat dianggap sebagai mekanisme storan setempat dan mungkin menimbulkan tahap risiko privasi tertentu. Dalam mod peribadi, storan setempat tidak akan dapat menyimpan data. Masalah ini boleh diselesaikan dengan menyemak sama ada storan setempat tersedia.
var isLocalStorageAvailable = function() {
  try {
    localStorage.setItem('test', 'test');
    localStorage.removeItem('test');
    return true;
  } catch(e) {
    return false;
  }
}

if (isLocalStorageAvailable()) {
  localStorage.setItem('data', '这是一段数据');
} else {
  console.log('浏览器不支持localstorage');
}
Salin selepas log masuk
  1. Tetapan penyemak imbas: Sesetengah pengguna mungkin melumpuhkan storan setempat dalam tetapan penyemak imbas, yang akan menyebabkan storan setempat tidak berfungsi dengan betul. Isu ini boleh diselesaikan dengan menyemak tetapan penyemak imbas anda.
if (localStorage) {
  localStorage.setItem('data', '这是一段数据');
} else {
  console.log('localstorage被禁用');
}
Salin selepas log masuk

Melalui contoh kod di atas, kita boleh lebih memahami sebab localstorage tidak boleh menyimpan data. Apabila menggunakan storan setempat, pastikan anda memberi perhatian kepada sebab di atas yang boleh menyebabkan kegagalan penjimatan, dan buat pemprosesan toleransi kesalahan yang sepadan untuk memastikan penjimatan dan pengambilan semula data secara normal.

Atas ialah kandungan terperinci Mengapa data saya tidak boleh disimpan dalam storan setempat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!