action
读取和修改由 action manifest 键定义的浏览器工具栏按钮的属性,并监听其点击事件。
注意: 此 API 在 Manifest V3 或更高版本中可用。它取代了 Manifest V2 API browserAction,以及 Chrome 和 Safari 中的 pageAction。
一个 浏览器操作 是浏览器工具栏上的一个按钮。
您可以为该按钮关联一个弹出窗口。弹出窗口与网页一样,使用 HTML、CSS 和 JavaScript 进行指定。在弹出窗口中运行的 JavaScript 可以访问与您的后台脚本相同的 WebExtension API,但其全局上下文是弹出窗口本身,而不是当前在浏览器中显示的页面。要影响网页,您需要通过 消息 与它们进行通信。
如果您指定了一个弹出窗口,当用户单击图标时,该弹出窗口就会显示并加载其内容。如果您没有指定弹出窗口,当用户单击图标时,会向您的扩展程序派发一个事件。
该按钮还有一个上下文菜单,您可以使用 `action` 类型的 menus.ContextType,通过 menus API 向此菜单添加项目。
使用 `action` API,您可以
- 使用
action.onClicked来监听图标的点击事件。 - 获取和设置图标的属性 — 图标、标题、弹出窗口等。您可以全局获取和设置这些属性,跨所有标签页,或通过传递标签页 ID 作为附加参数来为特定标签页设置。
类型
action.ColorArray-
一个包含四个整数的数组,范围为 0-255,用于定义 RGBA 颜色。
action.ImageDataType
函数
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-
当浏览器操作图标被点击时触发。如果浏览器操作有弹出窗口,则此事件不会触发。
action.onUserSettingsChanged-
当影响扩展程序操作的用户指定设置发生更改时触发。
浏览器兼容性
加载中…
注意: 此 API 基于 Chromium 的 chrome.action API。本文档源自 Chromium 代码中的 action.json。