Javascript 如何应用pagemod destroy()方法?

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 -

我有一个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()产生“非函数”错误。

使
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。