#javascript #firefox-addon #firefox-addon-sdk
#javascript #firefox-дополнение #firefox-дополнение-sdk
Вопрос:
У меня есть скрипт содержимого, который должен быть добавлен на страницу, если я выберу этот параметр в настройках дополнения. Я могу добавить настройку bool, но я абсолютно не могу понять, как с ней работать на main.js файл. Настройка равна
"preferences": [{
"description": "",
"name": "tagHide",
"type": "bool",
"value": false,
"title": "Hide something"}]
И в основной файл я добавил это
var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");
var prefs = require("sdk/simple-prefs").prefs;
function onPrefChange(prefName) {
if (prefs.tagHide) {
console.log(prefs.tagHide);
pageMod.PageMod({
include: "*.corbina.net",
contentScriptFile: data.url("cutter.js")
});
};
}
Этот код регистрирует «true» вместо «false» в консоли, но pagemod, похоже, не работает. Какие-либо ошибки, которые у меня здесь есть?
Ответ №1:
Есть несколько проблем с этим кодом как есть:
- вы нигде в этом коде не привязываете onPrefChange, например
require("sdk/simple-prefs").on("", onPrefChange);
, смотрите Документы - вы не применяете модификацию страницы к существующим вкладкам, смотрите Здесь в документах, в частности, этот
attachTo
параметр. - даже если ваш page-mod подключен, я никак не могу увидеть, что вы выгружаете эффекты скрипта содержимого?
Комментарии:
1. Большое спасибо, добавил onPrefChange, и это работает как шарм. Все еще размышляю о том, как удалить contentscript, хотя