8個(gè)JavaScript庫(kù)可更好地處理本地存儲(chǔ)

2020-9-3    seo達(dá)人

Local Storage Bridge

https://github.com/krasimir/l...

如果你必須在同一個(gè)瀏覽器中從一個(gè)標(biāo)簽頁(yè)發(fā)送消息到另一個(gè)標(biāo)簽頁(yè),你不必用艱難的方式。Local storage bridge在這里讓任務(wù)變得更簡(jiǎn)單。

基本使用:

// 發(fā)送 lsbridge.send(‘a(chǎn)pp.message.error’, { error: ‘Out of memory’ });

// 監(jiān)聽(tīng) lsbridge.subscribe(‘a(chǎn)pp.message.error’, function(data) { console.log(data); // { error: ‘Out of memory’ } });

Basil.js

image

Basil.js統(tǒng)一了session、localStorage和cookie,為你提供了一種處理數(shù)據(jù)的直接方法。

基本使用:

let basil = new Basil(options);

basil.set(‘name’, ‘Amy’);
basil.get(‘name’);
basil.remove(‘name’);
basil.reset();

store.js

https://github.com/marcuswest...

Store.js像其他東西一樣處理數(shù)據(jù)存儲(chǔ)。但還有更多的功能,它的一個(gè)高級(jí)特性是讓你更深入地訪問(wèn)瀏覽器支持。

基本使用:

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/...

它與localStorage API類似。事實(shí)上,它是localStorage的一個(gè)封裝器,并使用HTML5模擬memcaches函數(shù)。在上面的文檔中發(fā)現(xiàn)更多的功能。

基本使用:

lscache.set(‘name’, ‘Amy’, 5); // 數(shù)據(jù)將在5分鐘后過(guò)期 lscache.get(‘name’);

Lockr

image

Lockr建立在localStorage API之上。它提供了一些有用的方法來(lái)更輕松地處理本地?cái)?shù)據(jù)。

是什么讓你要使用此庫(kù)而不是localStorage API?

好吧,localStorage API僅允許你存儲(chǔ)字符串。如果要存儲(chǔ)數(shù)字,則需要先將該數(shù)字轉(zhuǎn)換為字符串。在Lockr中不會(huì)發(fā)生這種情況,因?yàn)長(zhǎng)ockr允許你存儲(chǔ)更多的數(shù)據(jù)類型甚至對(duì)象。

基本使用:

Lockr.set(‘name’, ‘Amy’);
Lockr.set(‘a(chǎn)ge’, 28);
Lockr.set(‘books’, [{title: ‘JavaScript’, price: 11.0}, {title: ‘Python’, price: 9.0}]);

Barn

https://github.com/arokor/barn

Barn在localStorage之上提供了一個(gè)類似Redis的API。如果持久性很重要,那么你將需要這個(gè)庫(kù)來(lái)保持?jǐn)?shù)據(jù)狀態(tài),以防發(fā)生錯(cuò)誤。

基本使用:

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/localForag...

這個(gè)簡(jiǎn)單而快速的庫(kù)將通過(guò)IndexedDB或WebSQL使用異步存儲(chǔ)來(lái)改善Web的脫機(jī)體驗(yàn)。它類似于localStorage,但具有回調(diào)功能。

基本使用:

localforage.setItem(‘name’, ‘Amy’, function(error, value) { // Do something });

localforage.getItem(‘name’, function(error, value) { if (error) { console.log(‘a(chǎn)n error occurs’);
  } else { // Do something with the value }
});

很神奇的是它提供中文文檔

crypt.io

https://github.com/jas-/crypt.io

crypt.io使用標(biāo)準(zhǔn)JavaScript加密庫(kù)實(shí)現(xiàn)安全的瀏覽器存儲(chǔ)。使用crypto.io時(shí),有三個(gè)存儲(chǔ)選項(xiàng):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 });

藍(lán)藍(lán)設(shè)計(jì)www.bouu.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)

分享本文至:

日歷

鏈接

個(gè)人資料

存檔