这篇翻译不完整。请帮忙从英语翻译这篇文章

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

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

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

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

使用 browserAction API,您可以:

  • 使用 browserAction.onClicked 监听该图标的点击事件。
  • 获取和设置该图标的属性——图标、标题、弹出窗等。 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
0-255范围内的四个整数的数组,定义RGBA颜色。
browserAction.ImageDataType
一个图像的像素数据。必须为一个 ImageData 对象(例如,来自一个 <canvas> 元素)。

函数

browserAction.setTitle()
设置浏览器动作的标题。这将在工具提示(鼠标悬停时)显示。
browserAction.getTitle()
获取浏览器动作的标题。
browserAction.setIcon()
设置浏览器动作的图标。
browserAction.setPopup()
设置 HTML 文档作为浏览器动作图标被用户点击时显示的弹出窗。
browserAction.getPopup()
获取作为浏览器动作的弹出窗的 HTML 文档。
browserAction.setBadgeText()
设置浏览器动作的徽章文本。该徽章显示在图标上方。
browserAction.getBadgeText()
获取浏览器动作的徽章文本。
browserAction.setBadgeBackgroundColor()
设置徽章的后台颜色。
browserAction.getBadgeBackgroundColor()
获取徽章的后台颜色。
browserAction.enable()
为一个标签页启用浏览器动作。默认情况下,浏览器动作为所有标签页启用。
browserAction.disable()
为一个标签页禁用浏览器动作,使该标签页为活动时无法单击它。

事件

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

浏览器兼容性

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxOperaFirefox for Android
ColorArrayChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesFirefox Android No support No
ImageDataTypeChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesFirefox Android No support No
disableChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesFirefox Android No support No
enableChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesFirefox Android No support No
getBadgeBackgroundColorChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesFirefox Android No support No
getBadgeTextChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesFirefox Android No support No
getBadgeTextColorChrome No support NoEdge No support NoFirefox Full support 63Opera No support NoFirefox Android No support No
getPopupChrome Full support YesEdge No support NoFirefox Full support 45Opera Full support YesFirefox Android Full support 57
getTitleChrome Full support YesEdge Full support 15Firefox Full support 45Opera Full support YesFirefox Android Full support 55
isEnabledChrome No support NoEdge No support NoFirefox Full support 59Opera No support NoFirefox Android No support No
onClickedChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesFirefox Android Full support 55
openPopupChrome No support NoEdge No support NoFirefox Full support 57Opera No support NoFirefox Android No support No
setBadgeBackgroundColorChrome Full support YesEdge Full support 14Firefox Full support 45
Full support 45
No support 45 — 58
Notes
Notes Tab-specific badge background color is not cleared when a new page is loaded.
Opera Full support YesFirefox Android No support No
setBadgeTextChrome Full support YesEdge Full support 14Firefox Full support 45
Full support 45
No support 45 — 58
Notes
Notes Tab-specific badge text is not cleared when a new page is loaded.
Opera Full support YesFirefox Android No support No
setBadgeTextColorChrome No support NoEdge No support NoFirefox Full support 63Opera No support NoFirefox Android No support No
setIconChrome Full support Yes
Notes
Full support Yes
Notes
Notes Before Chrome 23, `path` couldn't specify multiple icon files, but had to be a string specifying a single icon path.
Edge Full support 14
Notes
Full support 14
Notes
Notes This call is not persisted.
Notes The imageData parameter is not accepted.
Notes The path parameter is required.
Firefox Full support 45
Full support 45
No support 45 — 58
Notes
Notes Tab-specific icons are not cleared when a new page is loaded.
Opera Full support 15Firefox Android No support No
setPopupChrome Full support YesEdge Full support 14Firefox Full support 45
Full support 45
No support 45 — 58
Notes
Notes Tab-specific popups are not cleared when a new page is loaded.
Opera Full support YesFirefox Android Full support 57
Full support 57
No support 57 — 58
Notes
Notes Tab-specific popups are not cleared when a new page is loaded.
setTitleChrome Full support YesEdge Full support 15Firefox Full support 45
Full support 45
No support 45 — 58
Notes
Notes Tab-specific titles are not cleared when a new page is loaded.
Opera Full support YesFirefox Android Full support 55
Full support 55
No support 55 — 58
Notes
Notes Tab-specific titles are not cleared when a new page is loaded.

Legend

Full support  
Full support
No support  
No support
See implementation notes.
See implementation notes.

Example extensions

致谢

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

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

文档标签和贡献者

此页面的贡献者: yangwang, yfdyh000
最后编辑者: yangwang,