You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

现代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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 07:42:37