Я работаю над надстройкой как проектом для Firefox и не могу получить зависание аспекта onChange в модусе «простых префов».Ошибка «простой-prefs» Firefox
В настоящее время мое дополнение должно быть отключено и снова активировано для активации любых изменений.
Мой код:
var pref = require("sdk/simple-prefs").prefs;
if (typeof onPrefChange == 'function') {
onPrefChange();
} else {
console.log(' Error Initiating')
}
const simplePrefs = require("sdk/simple-prefs");
simplePrefs.on("", onPrefChange);
function onPrefChange(prefName) {
tabs.on("ready", function(tab) {
var host = tabs.activeTab.url;
var worker = tabs.activeTab.attach({
contentScriptFile: self.data.url("docs.js")
});
worker.port.on("data", function(response) {
var mixedcont = response;
console.log(simplePrefs.prefs.dismixed + ' onchange in func')
if (mixedcont === "true" && host.indexOf("https:") == 0 &&
simplePrefs.prefs.dismixed === false &&
simplePrefs.prefs.disapp === false &&
pref.dismixed === false)
{
notificationmixed(host);
console.log(mixedcont + ' mixed content is found show notify ')
console.log(pref.dismixed + ' dismixed value from pref ')
console.log(simplePrefs.prefs.dismixed + ' dismixed value from SimplePrefs ')
console.log(host.indexOf("https:") + ' dismixed value from host ')
} else if (host.indexOf("https:") == 0 &&
mixedcont === "false" &&
simplePrefs.prefs.dissecure === false &&
simplePrefs.prefs.disapp === false &&
pref.dissecure === false)
{
notification(host);
} else {
console.log(host + ' could not determine ')
}
});
});
}
условные высказывания в мой код вызова различных функций в зависимости от простой прив настройки.
Как мой аддон может активировать эти изменения без необходимости их отключения и включения?
Ваш код, который на самом деле читает предпочтения не в какой-либо функции обратного вызова (как 'onPrefChange'), так что я «Не знаю, почему вы ожидаете, что он будет выполнен при внесении изменений. Или проблема в том, что вы не получаете сообщение из 'console.log' в onPrefChange? – Nickolay
Проблема, с которой я столкнулась, заключается в том, что если пользователь указывает флажок в «опциях» (надстройка Firefox), чтобы отключить определенное уведомление, чтобы этот параметр вступил в силу, пользователь должен сначала отключить мое дополнение и затем снова включите. – DaE
ОК, так вы видите сообщение, которое вы регистрируете с помощью 'console.log'? Вам необходимо применить изменения к вашему коду в ответ на уведомление об изменении, а не только при запуске (это когда выполняется код верхнего уровня с вашими условными выражениями). – Nickolay