Saya mencari pustaka dan kode javascript yang dapat disimulasikan localStorage
pada browser yang tidak memiliki dukungan asli.
Pada dasarnya, saya ingin membuat kode pada situs saya localStorage
untuk menyimpan data dan mengetahui bahwa itu masih akan berfungsi di browser yang tidak mendukungnya secara native. Ini berarti perpustakaan akan mendeteksi jika window.localStorage
ada dan menggunakannya jika memang ada. Jika tidak ada, maka itu akan membuat semacam metode fallback penyimpanan lokal, dengan membuat implementasinya sendiri di window.localStorage
namespace.
Sejauh ini, saya telah menemukan solusi ini:
- Penerapan sessionStorage sederhana .
- Penerapan yang menggunakan cookie (tidak senang dengan ide ini).
- Dojo's dojox.storage , tapi itu milik sendiri, bukan benar-benar mundur.
Saya memahami bahwa Flash dan Silverlight juga dapat digunakan untuk penyimpanan lokal, tetapi belum menemukan apa pun tentang penggunaannya sebagai pengganti untuk penyimpanan lokal HTML5 standar. Mungkinkah Google Gears memiliki kemampuan ini juga?
Bagikan pustaka, sumber daya, atau cuplikan kode terkait yang Anda temukan! Saya akan sangat tertarik pada solusi berbasis javascript atau jquery murni, tetapi saya menebak itu tidak mungkin.
sumber
Jawaban:
Saya menggunakan PersistJS ( github repository ), yang menangani penyimpanan sisi klien secara mulus dan transparan ke kode Anda. Anda menggunakan satu API dan mendapatkan dukungan untuk backend berikut:
Semua itu dapat dinonaktifkan — jika, misalnya, Anda tidak ingin menggunakan cookie. Dengan pustaka ini, Anda akan mendapatkan dukungan penyimpanan sisi klien asli di IE 5.5+, Firefox 2.0+, Safari 3.1+, dan Chrome; dan dukungan bantuan plugin jika browser memiliki Flash atau Gears. Jika Anda mengaktifkan cookie, cookie akan berfungsi di segala hal (tetapi akan dibatasi hingga 4 kB).
sumber
Polyfill localStorage sederhana berbasis JS:
Demo: http://jsfiddle.net/aamir/S4X35/
HTML:
JS:
sumber
var expires
secara lokal dan kemudian pengguna dalam lingkup lain? dalam fungsiset
pernahkah Anda melihat halaman polyfill di Modernizr wiki?
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills
cari bagian penyimpanan web di halaman itu dan Anda akan melihat 10 solusi potensial (per Juli 2011).
semoga berhasil! Menandai
sumber
Di bawah ini adalah versi rapih dari tanggapan Aamir Afridi yang menyimpan semua kodenya dienkapsulasi dalam lingkup lokal.
Saya telah menghapus referensi yang membuat
ret
variabel global dan juga menghapus penguraian string "true" dan "false" yang disimpan ke dalam nilai boolean dalamBrowserStorage.get()
metode, yang dapat menyebabkan masalah jika seseorang mencoba untuk menyimpan string "true" atau "Salah".Karena API penyimpanan lokal hanya mendukung nilai string, seseorang masih dapat menyimpan / mengambil data variabel JavaScript bersama dengan tipe datanya yang sesuai dengan mengenkode data tersebut ke dalam string JSON, yang kemudian dapat didekodekan menggunakan pustaka encode / decode JSON seperti https: //github.com/douglascrockford/JSON-js
sumber
Saya pribadi lebih suka amplify.js . Ini telah bekerja sangat baik untuk saya di masa lalu dan saya merekomendasikannya untuk semua kebutuhan penyimpanan lokal.
sumber
store.js menggunakan userData dan IE dan localStorage di browser lain.
Ia tidak mencoba melakukan sesuatu yang terlalu rumit
Tanpa cookie, tidak ada flash, tidak perlu jQuery.
API bersih.
5 kb terkompresi
https://github.com/marcuswestin/store.js
sumber
The halaman MDN untuk penyimpanan DOM memberikan beberapa workarounds yang menggunakan cookies.
sumber
Lawnchair tampaknya juga menjadi alternatif yang bagus
sumber
Ada penyimpanan nyata , yang menggunakan Gears sebagai cadangan.
sumber