2016-05-05 2 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

Вы не будете использовать 'simple-storage' в веб-расширениях. Infact, вы не будете использовать какой-либо модуль sdk в веб-расширениях. У веб-расширений есть новый api, который предоставляет несколько идентичные функциональные возможности для addon-sdk. Поскольку 'simple-storage' api предназначен для того, чтобы позволить расширениям сохранять свои данные в формате ключевого значения, такая же функциональность обеспечивается' storage API', но вы можете найти синтаксис отличный – Kashif

+2

Проверьте [связанное расширение] (https://github.com/mdn/webextensions-examples/blob/master/favourite-colour/), как он сохраняет и извлекает данные с помощью 'storage API' – Kashif