browserAction

添加按钮到浏览器的工具栏。

你可以为该按钮指派一个弹出窗。弹出窗可采用 HTML、CSS 和 JavaScript 编写,就像是一个普通的网页。运行在该弹出窗中的 JavaScript 可以同你的后台脚本一样访问所有的 WebExtension API,但它的全局上下文是该弹出窗,而不是浏览器中的当前页面。要影响网页,你需要通过消息通信。

如果你指定了弹出窗,它将显示——内容将在用户点击该图标时被加载。如果你没有指定一个弹出窗,用户单击该图标的事件将派发到你的扩展。

你可以用 manifest.json 中的 browser_action 键值声明定义大多数浏览器动作属性。

使用 browserAction API,你可以:

  • 使用 browserAction.onClicked (en-US) 监听该图标的点击事件。
  • 获取和设置该图标的属性——图标、标题、弹出窗等。You can get and set these globally across all tabs, or for a specific tab by passing the tab ID as an additional argument.

另见用户界面组件 (en-US)中的浏览器动作章节。

类型

browserAction.ColorArray (en-US)

0-255 范围内的四个整数的数组,定义 RGBA 颜色。

browserAction.ImageDataType (en-US)

一个图像的像素数据。必须为一个 ImageData 对象(例如,来自一个 <canvas> 元素)。

函数

browserAction.setTitle() (en-US)

设置浏览器动作的标题。这将在工具提示(鼠标悬停时)显示。

browserAction.getTitle() (en-US)

获取浏览器动作的标题。

browserAction.setIcon() (en-US)

设置浏览器动作的图标。

browserAction.setPopup() (en-US)

设置 HTML 文档作为浏览器动作图标被用户点击时显示的弹出窗。

browserAction.getPopup() (en-US)

获取作为浏览器动作的弹出窗的 HTML 文档。

browserAction.setBadgeText() (en-US)

设置浏览器动作的徽章文本。该徽章显示在图标上方。

browserAction.getBadgeText() (en-US)

获取浏览器动作的徽章文本。

browserAction.setBadgeBackgroundColor() (en-US)

设置徽章的后台颜色。

browserAction.getBadgeBackgroundColor() (en-US)

获取徽章的后台颜色。

browserAction.enable() (en-US)

为一个标签页启用浏览器动作。默认情况下,浏览器动作为所有标签页启用。

browserAction.disable() (en-US)

为一个标签页禁用浏览器动作,使该标签页为活动时无法单击它。

事件

browserAction.onClicked (en-US)

在浏览器动作图标点击时被触发。如果浏览器动作有弹出窗,则该事件不会触发。

浏览器兼容性

BCD tables only load in the browser

备注: "Chrome 兼容性"是从 https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Chrome_incompatibilities 包含,使用WebExtChromeCompat宏。

如果你需要更新此章节,编辑 https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Chrome_incompatibilities,然后刷新查看更改。

Example extensions

备注: 此 API 基于 Chromium 的 chrome.browserAction API。此文档派生自 Chromium 代码中的 browser_action.json

Microsoft Edge 兼容性数据由微软公司提供,并以 知识共享 署名 3.0 美国版 许可。