2016-05-05 163 views
1

我能以某種方式運行此擴展名:使用Firefox擴展存儲

https://github.com/mdn/webextensions-examples/tree/master/beastify

在點擊瀏覽器圖標調用popup/choose_beast.js

有人能告訴我爲什麼這個代碼(放置在popup/choose_beast.js頂部)時產生異常:

try{ 
var ss = require("sdk/simple-storage"); 
ss.storage.myArray = [1, 1, 2, 3, 5, 8, 13]; 
}catch(e){ 
    alert('exception'); 
    console.log(e); 
} 

這裏是在manifest.json中的相關條目:

"browser_action": { 
    "default_icon": "icons/beasts-32.png", 
    "default_title": "Beastify", 
    "default_popup": "popup/choose_beast.html" 
} 

有什麼辦法我可以將數據存儲在這個彈出的html中,以便我可以隨時在內容腳本中進行檢索?

此頁面choose_beast.html正在運行?背景,頁面腳本或內容腳本?

+0

webextensions!= addon sdk。 – the8472

+0

@ the8472你能澄清一下嗎? – user5858

+0

Firefox正慢慢向WebExtension遷移,這與您爲Chrome瀏覽器開發擴展程序類似,對於WebExtension,您可以參考此鏈接。 https://developer.mozilla.org/en-US/Add-ons/WebExtensions更多信息:https://clipmystuff.com/g/54-firefox-add-ons-webextension –

回答

3

爲此,網絡擴展應使用storage API

Here是一個示例用法。

+0

那麼我應該在哪裏使用sdk/simple存儲? – user5858

+2

您不會在Web擴展中使用簡單存儲。事實上,你不會在web擴展中使用任何sdk模塊。 Web擴展有一個新的API,它提供了與addon-sdk相同的功能。由於'simple-storage' API旨在允許擴展將其數據保存爲鍵值格式,「存儲API」提供了相同的功能,但您可能會發現語法不同 – Kashif

+2

檢查[鏈接的擴展名](https:/ /github.com/mdn/webextensions-examples/blob/master/favourite-colour/)源代碼如何使用「存儲API」保存和檢索數據 – Kashif