答案1
通过编程方式管理偏好设置
我想通过编程来修改浏览器首选项以管理代理配置。反复试验表明network.proxy.type
)是控制代理配置的首选项,互联网研究(我如何找到这个问题)表明,动态修改浏览器首选项的方法是在 Firefox 的浏览器控制台命令行。
使用浏览器控制台命令行
请注意浏览器控制台不同于Web 控制台:
浏览器控制台就像Web 控制台,但应用于整个浏览器而不是单个内容选项卡。
另请注意,使用前必须启用命令行 UI:
浏览器控制台命令行默认处于禁用状态。要启用它,请将首选项设置为
devtools.chrome.enabled
,或在开发者工具设置中设置“启用 chrome 调试”选项。true
about:config
可以使用以下键盘快捷键打开浏览器控制台:
- Ctrl- Shift- J(电脑键盘)
- Ctrl- Shift- J(Mac 键盘)
使用首选项 API
我的研究表明 Firefox 提供了Services.prefs
对象具有多种获取和设置首选项的方法 - 取决于首选项的类型,例如布尔值、整数、字符串。
我怀疑network.proxy.type
偏好很可能是整数类型,因为它可以有从 0 到 5 的有用值(参见Network.proxy.type - MozillaZine 知识库)我使用getPrefType()
方法并将其返回值与以下返回值进行比较PREF_INT
:
>> Services.prefs.getPrefType("network.proxy.type") === Services.prefs.PREF_INT
True
然后我用getIntPref()
方法查看首选项设置为何:
>> Services.prefs.getIntPref("network.proxy.type")
5
MozillaZine 知识库网络.代理.类型描述5
为对应于
使用系统代理设置。(Linux 中的默认设置;从 1.9.2.4 /Firefox 3.6.4 开始,所有平台的默认设置)。
我能够使用setIntPref()
将此值更改为1
(使用手动代理配置)通过运行:)
>> Services.prefs.setIntPref("network.proxy.type", 1)