2016-11-30 5 views
0

Я делаю надстройку Firefox, которая должна отслеживать список слов. Из основного файла JavaScript я могу читать и изменять сохраненный массив под названием «список», но когда я пытаюсь получить доступ к нему на странице настроек я получаю сообщение об ошибке:Я не могу использовать объект браузера со страницы настроек моего дополнения Firefox

ReferenceError: browser is not defined 

Вот функция, от которой я попробуйте получить доступ к локальному хранилищу (это находится в файле .js, который используется на моей странице настроек .html).

function EmptyList() { 
    if (confirm("Empty list?")){ 
    browser.storage.local.set({ 
     list : [] 
    }); 
    } 
} 

Я не понимаю, что я делаю неправильно. Я не делаю ничего отличного от того, что они делают в mozilla tutorial.

+0

Пожалуйста, отредактируйте вопрос по теме: включите ** полный ** [mcve], который дублирует проблему. Включая * manifest.json *, некоторые из фоновых * и * скриптов содержимого. Вопросы, требующие помощи по отладке («** почему этот код не работает? **)) должны включать: ► желаемое поведение, ► конкретную проблему или ошибку * и * самый короткий код, необходимый для его воспроизведения ** в вопросе сам**. Вопросы без четкого описания проблемы не полезны другим читателям. Смотрите: «** Как создать [mcve] **», [о каких темах я могу спросить здесь?] (Http://stackoverflow.com/help/on-topic) и [ask]. – Makyen

+0

Мне действительно нужно? Я уже нашел решение, и, похоже, он не включает какой-либо другой файл моего дополнения, это всего лишь вопрос очистки кеша. Или я должен добавить их, чтобы узнать, можем ли мы определить, что действительно вызывает проблему? – carllacan

+0

Ну, честно говоря, наиболее распространенная подобная проблема, поставленная как вопрос здесь, основываясь только на том, что вы указали в своем Вопросе, заключается в том, что вы пытаетесь использовать методы WebExtension в другом стиле дополнения Firefox. С этим было несколько вопросов, так как проблема с использованием методов WebExtension пыталась использоваться в дополнительных расширениях SDK и наоборот. Это даже когда пользователь явно заявляет, что пытается использовать ту, которую они фактически не используют. Таким образом, да, вы должны предоставить хотя бы достаточно фактического кода, чтобы показать, что вы делаете. – Makyen

ответ

0

Видимо, это как-то связано с кешем.

Отключите и повторно добавьте надстройку (или удалите ее и добавьте снова), и она будет работать. Идите фигуру.

 Смежные вопросы

  • Нет связанных вопросов^_^