Firefox Mozilla插件和var{Cc,Ci,Cu}=require(";chrome";);

Firefox Mozilla插件和var{Cc,Ci,Cu}=require(";chrome";);,firefox,firefox-addon,firefox-addon-sdk,Firefox,Firefox Addon,Firefox Addon Sdk,我是Mozilla插件的新用户。 我制作了一个插件,它使用这个选项来关闭图像和脚本。使用的代码: let button_img = ToggleButton({ id: "btn2", label: "Show/hide images", icon: "./img1.png", onChange: imgChange}); var {Cc, Ci, Cu} = require("chrome"); Cu.import("resource://gre/modules/XPCOMUtils

我是Mozilla插件的新用户。 我制作了一个插件,它使用这个选项来关闭图像和脚本。使用的代码:

let button_img = ToggleButton({  id: "btn2",  label: "Show/hide images",  icon: "./img1.png",  onChange: imgChange});

var {Cc, Ci, Cu} = require("chrome");
Cu.import("resource://gre/modules/XPCOMUtils.jsm", this);
var PrefBranch = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
button_img_is_cecked=0;
function imgChange(state) {
    if (state.checked) {//Blocking images
        button_img.icon="./img2.png";
        PrefBranch.setIntPref("permissions.default.image",2);//Disable images
        PrefBranch.setIntPref("permissions.default.script",2);//Disable script
        button_img_is_cecked=1
    }else {
        button_img.icon="./img1.png";
        PrefBranch.setIntPref("permissions.default.image",1);//enable images
        PrefBranch.setIntPref("permissions.default.script",1);//enable script
        button_img_is_cecked=0
    }
}
代码和加载项工作正常,但当我将加载项发送到checking时,我收到消息:

标记或非SDK接口的使用

警告:此基于SDK的加载项使用不属于SDK的接口或标记为敏感的接口

var {Cc, Ci, Cu} = require("chrome");
Cu.import("resource://gre/modules/XPCOMUtils.jsm", this);
我有其他变体可以在不使用此导入资源的情况下关闭图像和脚本


此外,此代码还将关闭Mozilla中所有选项卡的图像。我可以在我的插件工作的一个选项卡上进行操作吗?

您应该能够使用此低级sdk模块获取和设置首选项:

因此,您的代码可能如下所示:

var gPrefs = require("sdk/preferences/service");

...
gPrefs.set("permissions.default.image",1);
gPrefs.set("permissions.default.script",1);