action

读取和修改属性,以及监听使用 action 清单键定义的浏览器工具栏按钮的点击事件。

注意: 此 API 在清单 V3 或更高版本中可用。它替换了清单 V2 API browserAction 以及在 Chrome 和 Safari 中的 pageAction.

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

您可以将弹出窗口与按钮关联。与网页类似,弹出窗口使用 HTML、CSS 和 JavaScript 指定。在弹出窗口中运行的 JavaScript 可以访问与后台脚本相同的 WebExtension API,但其全局上下文是弹出窗口,而不是浏览器中显示的当前页面。要影响网页,您需要通过 消息 与它们进行通信。

如果您指定了弹出窗口,则在用户点击图标时,弹出窗口将显示,并加载其内容。如果您没有指定弹出窗口,则在用户点击图标时,将向您的扩展分派一个事件。

该按钮还有一个上下文菜单,您可以使用 menus API,使用 action menus.ContextType 在此菜单中添加项目。

使用 action API,您可以

  • 使用 action.onClicked 监听图标上的点击事件。
  • 获取和设置图标的属性 - 图标、标题、弹出窗口等。您可以全局获取和设置这些属性,跨所有选项卡,也可以通过传递选项卡 ID 作为附加参数来获取和设置特定选项卡的属性。

类型

action.ColorArray

一个包含四个范围为 0-255 的整数的数组,用于定义 RGBA 颜色。

action.ImageDataType

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

函数

action.setTitle()

设置浏览器操作的标题。这将在工具提示中显示。

action.getTitle()

获取浏览器操作的标题。

action.setIcon()

设置浏览器操作的图标。

action.setPopup()

设置用户点击浏览器操作图标时打开的 HTML 文档作为弹出窗口。

action.getPopup()

获取设置为浏览器操作弹出窗口的 HTML 文档。

action.openPopup()

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

action.setBadgeText()

设置浏览器操作的徽章文本。徽章显示在图标顶部。

action.getBadgeText()

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

action.setBadgeBackgroundColor()

设置徽章的背景颜色。

action.getBadgeBackgroundColor()

获取徽章的背景颜色。

action.setBadgeTextColor()

设置徽章的文本颜色。

action.getBadgeTextColor()

获取徽章的文本颜色。

action.getUserSettings()

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

action.enable()

为选项卡启用浏览器操作。默认情况下,浏览器操作对所有选项卡都启用。

action.disable()

为选项卡禁用浏览器操作,这意味着当该选项卡处于活动状态时,无法点击该操作。

action.isEnabled()

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

事件

action.onClicked

当点击浏览器操作图标时触发。如果浏览器操作有弹出窗口,则不会触发此事件。

浏览器兼容性

BCD 表格仅在浏览器中加载

注意: 此 API 基于 Chromium 的 chrome.action API。本文档源自 Chromium 代码中的 action.json