Mengapa kita perlu menyimpan data kepada pelanggan? Menyimpan data pada klien boleh menyelesaikan banyak masalah dan mengurangkan penghantaran data yang tidak perlu:
1 Boleh menyimpan status program: pengguna boleh mengetahui di mana dia telah bekerja selepas menutup pelayar dan membuka ia sekali lagi.
2. Keupayaan untuk cache data: Tidak perlu mendapatkan data dari pelayan setiap kali untuk banyak data yang tidak berubah.
3. Boleh menyimpan pilihan pengguna: Data jenis ini biasanya tidak perlu disimpan pada pelayan.
Pendekatan sebelumnya Sebelum storan setempat HTML5, jika kami ingin menyimpan data berterusan pada klien, kami mempunyai beberapa pilihan:
1. Kelemahan kuki HTTP adalah jelas, ia hanya boleh menyimpan sehingga 4KB data, dan setiap permintaan HTTP akan dihantar kembali ke pelayan dalam teks yang jelas (melainkan anda menggunakan SSL).
2. IE userData. userData ialah penyelesaian storan tempatan yang dilancarkan oleh Microsoft semasa perang pelayar pada tahun 1990-an Ia menggunakan atribut tingkah laku DHTML untuk menyimpan data tempatan kelemahan userData adalah jelas Ia bukan sebahagian daripada standard web, jadi melainkan aplikasi anda hanya perlu menyokong IE, ia tidak berguna.
3. Kuki Flash sebenarnya bukan perkara yang sama dengan kuki HTTP Mungkin namanya harus dipanggil "Kuki Flash setempat". daripada pengguna. Ruang storan yang besar, dengan bantuan antara muka ExternalInterface Flash, anda boleh mengendalikan storan setempat Flash melalui Javascript dengan mudah. Masalah dengan Flash ialah ia adalah Flash.
4. Gears ialah pemalam penyemak imbas sumber terbuka yang dikeluarkan oleh Google pada tahun 2007, bertujuan untuk meningkatkan keserasian pelayar utama Gears mempunyai pangkalan data SQL terbenam terbina dalam berdasarkan SQLite dan menyediakan API bersatu untuk mengakses pangkalan data Selepas mendapatkan pengguna kebenaran, setiap tapak boleh menyimpan data dalam mana-mana saiz dalam pangkalan data SQL Masalah dengan Gears ialah Google sendiri tidak lagi menggunakannya.
Pelbagai teknologi yang mempesonakan membawa kepada isu keserasian penyemak imbas. Mungkin perkara yang paling ramai orang gunakan di sini ialah kuki.
Pengalaman baharu dalam HTML5 Sebagai tindak balas kepada masalah di atas, HTML5 menyediakan penyelesaian yang lebih ideal: jika apa yang anda perlu simpan hanyalah pasangan kunci/nilai, ia boleh diselesaikan data, anda boleh menggunakan Storan Web.
Berbanding dengan Kuki, Storan Web mempunyai banyak kelebihan, yang boleh diringkaskan seperti berikut:
1 Ruang storan yang lebih besar: Setiap ruang storan bebas di bawah IE8 ialah 10M, dan pelayar lain mempunyai pelaksanaan yang berbeza sedikit, tetapi jauh lebih besar. daripada Cookie.
2. Kandungan yang disimpan tidak akan dihantar ke pelayan: Apabila kuki ditetapkan, kandungan kuki akan dihantar ke pelayan bersama-sama dengan permintaan, yang merupakan pembaziran lebar jalur untuk data yang disimpan secara tempatan. Data dalam Storan Web hanya wujud secara setempat dan tidak berinteraksi dengan pelayan dalam apa jua cara.
3. Antara muka yang lebih kaya dan mudah digunakan: Storan Web menyediakan set antara muka yang lebih kaya, menjadikan operasi data lebih mudah.
4. Ruang storan bebas: Setiap domain (termasuk subdomain) mempunyai ruang storan bebas Setiap ruang storan adalah bebas sepenuhnya, jadi tidak akan berlaku kekeliruan data.
Klasifikasi Storan Web Storan Web sebenarnya terdiri daripada dua bahagian: sessionStorage dan localStorage.
sessionStorage digunakan untuk menyimpan data secara setempat dalam sesi Data ini hanya boleh diakses oleh halaman dalam sesi yang sama dan data akan dimusnahkan apabila sesi tamat. Oleh itu sessionStorage bukanlah storan tempatan yang berterusan, hanya storan peringkat sesi.
LocalStorage digunakan untuk storan setempat yang berterusan Melainkan data dipadamkan secara aktif, data tidak akan luput.
Semak sama ada Storan Web disokong Storan Web disokong dalam semua penyemak imbas utama, tetapi untuk serasi dengan penyemak imbas lama, anda masih perlu menyemak sama ada teknologi ini boleh digunakan.
Cara pertama: Semak sama ada penyemak imbas menyokong Storan Web dengan menyemak sama ada objek Storan wujud:
if(typeof(Storage)!=="undefined"){
// Ya! ..
} lain {
// Maaf tiada sokongan storan web..
}
Cara kedua ialah menyemak objek masing-masing secara berasingan, contohnya, semak sama ada localStorage menyokong :