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.

另见用户界面组件中的浏览器动作章节。

类型

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

Example extensions

致谢

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

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