page_action

类型 Object
必填
Manifest 版本 2 或更高
示例
json
"page_action": {
  "default_icon": {
    "19": "button/geo-19.png",
    "38": "button/geo-38.png"
  },
  "default_title": "Whereami?",
  "default_popup": "popup/geo.html"
}

page action 是您的扩展程序添加到浏览器 URL 栏中的一个图标。

您的扩展程序还可以选择性地提供一个关联的弹出窗口,其内容使用 HTML、CSS 和 JavaScript 指定。

您必须指定此键才能在扩展程序中包含 page action。指定后,您可以使用 pageAction API 以编程方式操作按钮。

如果您提供了弹出窗口,则当用户单击图标时会打开该弹出窗口,并且您在弹出窗口中运行的 JavaScript 可以处理用户与之的交互。如果您没有提供弹出窗口,则当用户单击图标时,将向您扩展程序的 background scripts 分派一个 click 事件。

Page actions 类似于 browser actions,不同之处在于它们与特定的网页相关联,而不是与整个浏览器相关联。如果某个操作仅在某些页面上相关,那么您应该使用 page action 并仅在相关页面上显示它。如果某个操作与所有页面或浏览器本身相关,请使用 browser action。

虽然 browser actions 默认显示,但 page actions 默认隐藏。可以通过调用 pageAction.show() 并传入选项卡的 id 来为特定选项卡显示它们。您也可以使用 show_matches 属性更改此默认行为。

语法

page_action 键是一个对象,可以包含以下三个可选属性中的任意一个:

名称 类型 描述
browser_style
可选
已弃用 在 Manifest V3 中。
Boolean

可选。默认为 false

不要将 browser_style 设置为 true:从 Firefox 118 开始,它在 Manifest V3 中不再受支持。请参阅 browser_style 的 Manifest V3 迁移

在 Firefox 中,可以在 chrome://browser/content/extension.css 或 macOS 上的 chrome://browser/content/extension-mac.css 中看到样式表。

latest-download 示例扩展使用 browser_style 在其弹出窗口中。

default_icon ObjectString

使用此选项指定操作的图标。

建议在此处提供两个图标(19×19 像素和 38×38 像素),并将它们指定在一个对象中,属性名为 "19""38",如下所示:

json
    "default_icon": {
      "19": "geo-19.png",
      "38": "geo-38.png"
    }

这样做之后,浏览器将根据屏幕的像素密度选择正确大小的图标。

您可以只在此处提供一个字符串。

json
"default_icon": "geo.png"

这样做之后,图标将被缩放到适合工具栏的大小,并可能显得模糊。

default_popup String

包含弹出窗口规格的 HTML 文件的路径。

HTML 文件可以使用 <link><script> 元素包含 CSS 和 JavaScript 文件,就像普通网页一样。但是,不要在 <script> 中使用嵌入式代码,因为您会收到内容违反策略的错误。相反,<script> 必须使用 src 属性来加载单独的脚本文件。

与普通网页不同,在弹出窗口中运行的 JavaScript 可以访问所有 WebExtension API(当然,前提是扩展程序具有相应的 权限)。

这是一个 可本地化属性

default_title String

图标的工具提示,当用户将鼠标悬停在其上时显示。

这是一个 可本地化属性

hide_matches Match PatternArray,不包括 <all_urls>

默认情况下,对于 URL 与给定的 匹配模式 匹配的页面,隐藏 page action。

请注意,page actions 默认始终隐藏,除非提供了 show_matches。因此,仅当也提供了 show_matches 时,包含此属性才有意义,并且它将覆盖 show_matches 中的模式。

例如,考虑一个类似的值:

json
"page_action": {
  "show_matches": ["https://*.mozilla.org/*"],
  "hide_matches": ["https://mdn.org.cn/*"]
}

这会在默认情况下显示 page action,用于 "mozilla.org" 域下的所有 HTTPS URL,但 "developer.mozilla.org" 下的页面除外。

show_matches Match PatternArray

默认情况下,对于 URL 与给定的模式匹配的页面,显示 page action。

另请参阅 hide_matches

pinned 已弃用 Boolean

可选。默认为 true

控制当用户安装扩展程序时,page action 是否默认出现在地址栏中。此属性自 Firefox 89 起不再受支持。

示例

json
"page_action": {
  "default_icon": {
    "19": "button/geo-19.png",
    "38": "button/geo-38.png"
  }
}

一个只有图标的 page action,以 2 种不同尺寸指定。当用户使用类似这样的代码单击图标时,扩展程序的后台脚本可以接收点击事件。

js
browser.pageAction.onClicked.addListener(handleClick);
json
"page_action": {
  "default_icon": {
    "19": "button/geo-19.png",
    "38": "button/geo-38.png"
  },
  "default_title": "Whereami?",
  "default_popup": "popup/geo.html"
}

一个 page action,包含一个图标、一个标题和一个弹出窗口。当用户点击图标时,将显示该弹出窗口。

浏览器兼容性

另见