Javascript 如何应用pagemod destroy()方法?
我有一个SDK扩展,可以在页面上注入脚本。在插件选项中有1个bool用于打开或关闭该脚本Javascript 如何应用pagemod destroy()方法?,javascript,firefox-addon-sdk,Javascript,Firefox Addon Sdk,我有一个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 -
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()代码>产生“非函数”错误。使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)
我尝试了这个,我一直得到mod是未定义的
。我认为这是因为如果pref为false,那么它会在定义它之前尝试销毁它。我想你不能用destroy来销毁null。