page_action
| 类型 | Object |
|---|---|
| 必填 | 否 |
| Manifest 版本 | 2 或更高 |
| 示例 |
json |
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 |
可选。默认为 不要将 在 Firefox 中,可以在
|
default_icon |
Object 或 String |
使用此选项指定操作的图标。 建议在此处提供两个图标(19×19 像素和 38×38 像素),并将它们指定在一个对象中,属性名为 json 这样做之后,浏览器将根据屏幕的像素密度选择正确大小的图标。 您可以只在此处提供一个字符串。 json 这样做之后,图标将被缩放到适合工具栏的大小,并可能显得模糊。 |
default_popup |
String |
包含弹出窗口规格的 HTML 文件的路径。 HTML 文件可以使用 与普通网页不同,在弹出窗口中运行的 JavaScript 可以访问所有 WebExtension API(当然,前提是扩展程序具有相应的 权限)。 这是一个 可本地化属性。 |
default_title |
String |
图标的工具提示,当用户将鼠标悬停在其上时显示。 这是一个 可本地化属性。 |
hide_matches |
Match Pattern 的 Array,不包括 <all_urls> |
默认情况下,对于 URL 与给定的 匹配模式 匹配的页面,隐藏 page action。 请注意,page actions 默认始终隐藏,除非提供了 例如,考虑一个类似的值: json 这会在默认情况下显示 page action,用于 |
show_matches |
Match Pattern 的 Array |
默认情况下,对于 URL 与给定的模式匹配的页面,显示 page action。 另请参阅 |
pinned 已弃用 |
Boolean |
可选。默认为 控制当用户安装扩展程序时,page action 是否默认出现在地址栏中。此属性自 Firefox 89 起不再受支持。 |
示例
"page_action": {
"default_icon": {
"19": "button/geo-19.png",
"38": "button/geo-38.png"
}
}
一个只有图标的 page action,以 2 种不同尺寸指定。当用户使用类似这样的代码单击图标时,扩展程序的后台脚本可以接收点击事件。
browser.pageAction.onClicked.addListener(handleClick);
"page_action": {
"default_icon": {
"19": "button/geo-19.png",
"38": "button/geo-38.png"
},
"default_title": "Whereami?",
"default_popup": "popup/geo.html"
}
一个 page action,包含一个图标、一个标题和一个弹出窗口。当用户点击图标时,将显示该弹出窗口。
浏览器兼容性
加载中…