如何应用pagemod destroy()方法?

时间:2014-07-10 15:28:00

标签: 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 - 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;而不是功能"错误。

1 个答案:

答案 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)