I have an SDK extension that injects script on pages. In the addon options there is 1 bool that used to turn that script on or off.
var pageMod = require("sdk/page-mod");
var data = require("sdk/self").data;
var prefs = require("sdk/simple-prefs").prefs;
function onPrefChange(prefName) {
if (prefs.showMAC) {
//if true - apply pagemod
pageMod.PageMod({
include: "*.mydomen.net",
attachTo: ["existing", "top"],
contentScriptFile: data.url("proxy_open.js")
});
}else{
//if false - remove pagemod
}
}
require("sdk/simple-prefs").on("showMAC", onPrefChange);
I'm new to all that extensions stuff and can't find any information about how to apply destroy()
correctly, can anyone explain how to do this correctly? I've tried pageMod.destroy();
that gives "not a function" error.
Making var mod = null
and then mod = pageMod
works like a charm.
var mod = null;
var prefs = require("sdk/simple-prefs").prefs;
function onPrefChange(prefName) {
if (prefs.showMAC) {
mod = pageMod.PageMod({
include: "*.mydomen.net",
attachTo: ["existing", "top"],
contentScriptFile: data.url("proxy_open.js")
});
}else{
mod.destroy();
}
}
require("sdk/simple-prefs").on("showMAC", onPrefChange)