如何从插件更改firefox代理

use*_*229 4 javascript firefox firefox-addon firefox-addon-sdk

我无法通过以下代码更改firefox代理:

var scope = {};
Components.utils.import("resource://imacros/utils.js", scope);
Components.utils.import("resource://imacros/rijndael.js", scope);
Components.utils.import("resource://gre/modules/ctypes.jsm", scope);
var __loginf = scope.__loginf;
var imns = scope.imns;

var pref = imns.prefsvc.getBranch("network.proxy.");
pref.setCharPref("http", server);
pref.setIntPref("http_port", port);
pref.setCharPref("ssl", server);
pref.setIntPref("ssl_port", port);
pref.setIntPref("type", 1);
Run Code Online (Sandbox Code Playgroud)

请帮帮我.

Bry*_*ark 7

你肯定应该使用addon-sdk.这里是他们的偏好服务文档的链接,您可以在其中找到更多信息.

这是使用addon-sdk的解决方案.

var prefsvc = require("sdk/preferences/service");
prefsvc.set("network.proxy.http", server);
prefsvc.set("network.proxy.http_port", port);
prefsvc.set("network.proxy.ssl", server);
prefsvc.set("network.proxy.ssl_port", port);
prefsvc.set("network.proxy.type", 1);
Run Code Online (Sandbox Code Playgroud)