我有一个SDK扩展,可以在页面上注入脚本。在插件选项中有1个bool用于打开或关闭该脚本。
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);
我对所有扩展功能都不熟悉且无法找到有关如何正确应用destroy()
的任何信息,有人可以解释如何正确执行此操作吗?我试过pageMod.destroy();
给出了#34;而不是功能"错误。
答案 0 :(得分:1)
制作var mod = null
然后mod = pageMod
就像魅力一样。
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)