首頁 > 軟體

chrome擴充套件開發:[11]本地儲存

2019-12-19 06:02:28

介紹了chrome擴充套件中用到的兩種儲存方式,HTML5 LocalStorage和chrome.storage

1

HTML5 LocalStorage是HTML5標準的一部分,大部分瀏覽器都提供了支援。localStorage是以key--value對的形式儲存的,key和value都只能是字串型別,如果你提供的是其他型別,儲存的時候也會被自動轉換為字串。

2

獲取值(假設變數名稱是aa)var v=localStorage.aavar v=localStorage["aa"]var v=localStorage.getItem("aa");設定值(假設變數名稱是aa,要設定的值是"value1")localStorage.aa="value1";localStorage["aa"]="value1";localStorage.setItem("aa","value1");清除儲存項localStorage.removeItem("aa")清除全部儲存項localStorage.clear()

3

檢測localStorage是否可用if(window.localStorage){?alert('可用');}else{?alert('不可用');}

4

使用localStorage儲存json型別的資料:獲取資料var v=JSON.parse(localStorage.getItem("aa"))儲存資料localStorage.setItem("aa", JSON.stringify(v))

5

注意,localStorage是以域為單位進行操作的,不同域的localStorage是完全隔離的。

1

chrome.storage API是chrome擴充套件特有的api,它和HTML5 LocalStorage一個顯著不同是可以存取object資料。也是以鍵-值的形式存取。

2

獲取

chrome.storage.local.get(keys, function(valueArray) {

         alert(valueArray)       

 });


3

設定

chrome.storage.local.set({'value': theValue}, function() {

         alert('儲存成功')       

 });


4

清除儲存項

chrome.storage.local.remove(keys,function() {

         alert('清除成功')       

 })


5

清除全部儲存項

chrome.storage.local.clear(function() {

         alert('清除全部儲存項成功')       

 })


1

用localStorage做一個範例,記錄前面例子中的新聞列表,這樣,下次開啟瀏覽器時,上次的新聞列表依然存在。

2

擴充套件啟動時將localStorage裡的資料提取到變數中:

g_newsArr=JSON.parse(localStorage['newsArr']);

變數變化時將資料儲存到localStorage中:

localStorage['newsArr']=JSON.stringify(g_newsArr);

下面是程式碼截圖


3

由於localStorage只能儲存字串,而我們要存取的變數時陣列型別,所以使用了JSON.parse和JSON.stringigy,分別將字串轉化為陣列和將陣列轉化為字串

4

這樣即使關閉瀏覽器後,下次啟動時扔能看到上次儲存的新聞列表



IT145.com E-mail:sddin#qq.com