Local Storage Bridge
https://github.com/krasimir/lsbridge
如果你必須在同一個瀏覽器中從一個標籤頁發送消息到另一個標籤頁,你不必用艱難的方式。Local storage bridge在這裏讓任務變得更簡單。
基本使用:
// 發送
lsbridge.send(‘app.message.error’, { error: ‘Out of memory’ });
// 監聽
lsbridge.subscribe(‘app.message.error’, function(data) {
console.log(data); // { error: ‘Out of memory’ }
});
Basil.js
http://wisembly.github.io/basil.js/
Basil.js統一了session、localStorage和cookie,爲你提供了一種處理數據的直接方法。
基本使用:
let basil = new Basil(options);
basil.set(‘name’, ‘Amy’);
basil.get(‘name’);
basil.remove(‘name’);
basil.reset();
store.js
https://github.com/marcuswestin/store.js
Store.js像其他東西一樣處理數據存儲。但還有更多的功能,它的一個高級特性是讓你更深入地訪問瀏覽器支持。
基本使用:
store.set(‘book’, { title: ‘JavaScript’ }); // Store a book
store.get(‘book’); // Get stored book
store.remove(‘book’); // Remove stored book
store.clearAll(); // Clear all keys
lscache
https://github.com/pamelafox/lscache
它與localStorage API類似。事實上,它是localStorage的一個封裝器,並使用HTML5模擬memcaches函數。在上面的文檔中發現更多的功能。
基本使用:
lscache.set(‘name’, ‘Amy’, 5); // 數據將在5分鐘後過期
lscache.get(‘name’);
Lockr
https://github.com/tsironis/lockr
Lockr建立在localStorage API之上。它提供了一些有用的方法來更輕鬆地處理本地數據。
是什麼讓你要使用此庫而不是localStorage API?
好吧,localStorage API僅允許你存儲字符串。如果要存儲數字,則需要先將該數字轉換爲字符串。在Lockr中不會發生這種情況,因爲Lockr允許你存儲更多的數據類型甚至對象。
基本使用:
Lockr.set(‘name’, ‘Amy’);
Lockr.set(‘age’, 28);
Lockr.set(‘books’, [{title: ‘JavaScript’, price: 11.0}, {title: ‘Python’, price: 9.0}]);
Barn
https://github.com/arokor/barn
Barn在localStorage之上提供了一個類似Redis的API。如果持久性很重要,那麼你將需要這個庫來保持數據狀態,以防發生錯誤。
基本使用:
let barn = new Barn(localStorage);
// 原始類型
barn.set(‘name’, ‘Amy’);
let name = barn.get(‘name’); // Amy
// List
barn.lpush(‘names’, ‘Amy’);
barn.lpush(‘names’, ‘James’);
let name1 = barn.rpop(‘names’); // Amy
let name2 = barn.rpop(‘names’); // James
localForage
https://github.com/localForage/localForage
這個簡單而快速的庫將通過IndexedDB或WebSQL使用異步存儲來改善Web的脫機體驗。它類似於localStorage,但具有回調功能。
基本使用:
localforage.setItem(‘name’, ‘Amy’, function(error, value) {
// Do something
});
localforage.getItem(‘name’, function(error, value) {
if (error) {
console.log(‘an error occurs’);
} else {
// Do something with the value
}
});
中文文檔:https://localforage.docschina.org/
crypt.io
https://github.com/jas-/crypt.io
crypt.io使用標準JavaScript加密庫實現安全的瀏覽器存儲。使用crypto.io時,有三個存儲選項:sessionStorage,localStorage或cookie。
基本使用:
let storage = crypto;
let book = { title: ‘JavaScript’, price: 13 };
storage.set(‘book’, book, function(error, results) {
if (error) {
throw error;
}
// Do something
});
storage.get(‘book’, function(error, results) {
if (error) {
throw error;
}
// Do something
});