现代Firefox扩展能否程序化修改about:config中的full-screen-api.ignore-widgets?
Firefox扩展程序化修改full-screen-api.ignore-widgets偏好设置的方案
现代Firefox基于WebExtensions API体系,支持通过扩展程序化修改full-screen-api.ignore-widgets这个about:config偏好,具体实现步骤如下:
1. 配置扩展权限
在扩展的manifest.json中,必须声明browserSettings权限,否则无法调用相关API修改偏好。示例配置片段:
{ "manifest_version": 2, "name": "全屏设置切换工具", "version": "1.0", "permissions": ["browserSettings", "notifications"], "browser_action": { "default_icon": "icons/icon.png", "default_title": "切换全屏API忽略小部件设置" }, "background": { "scripts": ["background.js"] } }
注:notifications权限是可选的,仅用于切换后给用户弹出提示。
2. 编写切换逻辑
在后台脚本(比如background.js)中,监听工具栏图标点击事件,实现设置的切换:
// 监听工具栏图标点击 browser.browserAction.onClicked.addListener(async () => { // 获取当前设置值 const currentStatus = await browser.browserSettings.fullScreenApiIgnoreWidgets.get({}); // 切换状态(取反) const newStatus = !currentStatus.value; await browser.browserSettings.fullScreenApiIgnoreWidgets.set({ value: newStatus }); // 可选:弹出通知告知用户切换结果 browser.notifications.create({ type: "basic", iconUrl: "icons/icon.png", title: "设置已更新", message: `full-screen-api.ignore-widgets 已设为 ${newStatus}` }); });
关键说明
- 该方案适配Firefox 55及以上的现代版本,完全替代老旧的XPCOM方案
- 无需用户手动打开about:config,点击扩展图标即可完成切换
- 修改后的设置会直接同步到about:config中,和手动修改效果一致
内容的提问来源于stack exchange,提问作者Niki Herl
相关产品推荐
相关产品推荐

