browserAction

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

浏览器操作是浏览器工具栏中的一个按钮。

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

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

该按钮还具有上下文菜单,你可以使用 menus API 通过 browser_action menus.ContextType 向此菜单添加项目。

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

使用 browserAction API,你可以:

  • 使用 browserAction.onClicked 监听该图标的点击事件。
  • 获取和设置该图标的属性——图标、标题、弹出窗等。你可以在所有标签页上全局获取和设置这些属性,或者通过将标签页 ID 作为额外参数传递来针对特定标签页进行操作。

类型

browserAction.ColorArray

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

browserAction.ImageDataType

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

函数

browserAction.setTitle()

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

browserAction.getTitle()

获取浏览器动作的标题。

browserAction.setIcon()

设置浏览器动作的图标。

browserAction.setPopup()

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

browserAction.getPopup()

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

browserAction.openPopup()

打开浏览器操作的弹出窗口。

browserAction.setBadgeText()

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

browserAction.getBadgeText()

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

browserAction.setBadgeBackgroundColor()

设置徽章的后台颜色。

browserAction.getBadgeBackgroundColor()

获取徽章的后台颜色。

browserAction.setBadgeTextColor()

设置徽章的文本颜色。

browserAction.getBadgeTextColor()

获取徽章的文本颜色。

browserAction.getUserSettings()

获取浏览器操作的用户指定设置。

browserAction.enable()

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

browserAction.disable()

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

browserAction.isEnabled()

检查浏览器操作是否已启用。

事件

browserAction.onClicked

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

浏览器兼容性

BCD tables only load in the browser

示例扩展