Storan web HTML5



Storan web HTML5, kaedah storan tempatan yang lebih baik daripada kuki.


Apakah Storan Web HTML5?

Menggunakan HTML5, anda boleh menyimpan data penyemakan imbas pengguna secara setempat.

Terdahulu, storan tempatan menggunakan kuki. Tetapi storan Web perlu lebih selamat dan cepat Data tidak akan disimpan pada pelayan, tetapi data hanya akan digunakan apabila pengguna meminta data tapak web Ia juga boleh menyimpan sejumlah besar data tanpa menjejaskan prestasi laman web.

Data wujud dalam pasangan kunci/nilai, dan data halaman web hanya boleh diakses dan digunakan oleh halaman web tersebut.


Sokongan penyemak imbas

Internet Explorer

Internet Explorer 8+, Firefox, Opera, Chrome dan Safari menyokong storan Web.

Nota: Internet Explorer 7 dan versi IE terdahulu tidak menyokong storan web


localStorage dan sessionStorage

Terdapat dua objek baharu. untuk menyimpan data pada klien:

  • localStorage - storan data tanpa had masa

  • sessionStorage - storan data untuk sesi

Sebelum menggunakan storan web, anda harus menyemak sama ada penyemak imbas menyokong localStorage dan sessionStorage:

if(typeof(Storage)!=="undefined")
{
// Ya! localStorage dan sessionStorage sokongan!
// Sesetengah kod.....
}
lain
{
// Maaf! sokongan storan..
}



objek localStorage

Data yang disimpan oleh objek localStorage tidak mempunyai had masa. Data masih tersedia selepas hari, minggu atau tahun berikutnya.

Instance

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
</head>
<body>

<div id="result"></div>
<script>
if(typeof(Storage)!=="undefined")
  {
  localStorage.lastname="Smith";
  document.getElementById("result").innerHTML="Last name: " + localStorage.lastname;
  }
else
  {
  document.getElementById("result").innerHTML="Sorry, your browser does not support web storage...";
  }
</script>

</body>
</html>

Run Instance»

Klik butang "Run Instance" untuk melihat contoh dalam talian

Contoh analisis:

  • Gunakan key="lastname" dan value="Smith" untuk mencipta kunci/nilai pasangan localStorage

  • mendapatkan semula Nilai dengan nilai kunci "nama keluarga" kemudian memasukkan data ke dalam elemen dengan id="hasil"

Petua: Pasangan kunci/nilai biasanya disimpan sebagai rentetan, Anda boleh menukar format ini mengikut keperluan anda.

Contoh berikut menunjukkan bilangan kali pengguna mengklik butang. Tukar nilai rentetan dalam kod kepada jenis angka:

Instance

<!DOCTYPE html>
<html>
<head>
<script>
function clickCounter()
{
if(typeof(Storage)!=="undefined")
  {
  if (localStorage.clickcount)
    {
    localStorage.clickcount=Number(localStorage.clickcount)+1;
    }
  else
    {
    localStorage.clickcount=1;
    }
  document.getElementById("result").innerHTML="You have clicked the button " + localStorage.clickcount + " time(s).";
  }
else
  {
  document.getElementById("result").innerHTML="Sorry, your browser does not support web storage...";
  }
}
</script>
</head>
<body>
<p><button onclick="clickCounter()" type="button">Click me!</button></p>
<div id="result"></div>
<p>Click the button to see the counter increase.</p>
<p>Close the browser tab (or window), and try again, and the counter will continue to count (is not reset).</p>
</body>
</html>

Run Instance»

Klik "Run Butang Instance" " untuk melihat contoh dalam talian



objek sessionStorage

Kaedah sessionStorage menyimpan data untuk sesi. Data dipadamkan apabila pengguna menutup tetingkap penyemak imbas.

Cara membuat dan mengakses sessionStorage: :

Instance

<!DOCTYPE html>
<html>
<head>
<script>
function clickCounter()
{
if(typeof(Storage)!=="undefined")
  {
  if (sessionStorage.clickcount)
    {
    sessionStorage.clickcount=Number(sessionStorage.clickcount)+1;
    }
  else
    {
    sessionStorage.clickcount=1;
    }
  document.getElementById("result").innerHTML="You have clicked the button " + sessionStorage.clickcount + " time(s) in this session.";
  }
else
  {
  document.getElementById("result").innerHTML="Sorry, your browser does not support web storage...";
  }
}
</script>
</head>
<body>
<p><button onclick="clickCounter()" type="button">Click me!</button></p>
<div id="result"></div>
<p>Click the button to see the counter increase.</p>
<p>Close the browser tab (or window), and try again, and the counter is reset.</p>
</body>
</html>

Run Instance»

Klik butang "Jalankan contoh" untuk melihat kejadian dalam talian