pageAction.setIcon()
设置页面操作的图标。
你可以指定图片文件的路径或 sidebarAction.ImageDataType
对象作为单个图标。
你也可以通过提供一个包含多个路径或 ImageData
对象的字典来指定多个不同尺寸的图标,这样图标就不必为具有不同像素密度的设备进行缩放。
这是一个返回 Promise
的异步函数。
语法
let settingIcon = browser.pageAction.setIcon(
details // 对象
)
参数
details
-
object
。包含imageData
、path
其中一个属性和tabId
属性的对象。imageData
可选-
sidebarAction.ImageDataType
或object
。这要么是一个单一的ImageData
对象,要么是一个字典对象。使用字典对象来指定多个不同尺寸的
ImageData
对象,这样图标就不必为具有不同像素密度的设备进行缩放。如果imageData
是一个字典,那么每个属性的值是一个ImageData
对象,其名称是其大小,例如:jslet settingIcon = browser.pageAction.setIcon({ imageData: { 16: image16, 32: image32, }, });
浏览器将根据屏幕的像素密度选择要使用的图像。有关更多信息,请参阅选择图标大小。
path
可选-
string
或object
。这要么是指向图标文件的相对路径,要么是一个字典对象。使用字典对象来指定多个不同尺寸的图标文件,这样图标就不必为具有不同像素密度的设备进行缩放。如果
path
是一个字典,那么每个属性的值是一个相对路径,其名称是其大小,例如:jslet settingIcon = browser.pageAction.setIcon({ path: { 16: "path/to/image16.jpg", 32: "path/to/image32.jpg", }, });
浏览器将根据屏幕的像素密度选择要使用的图像。有关更多信息,请参阅选择图标大小。
如果
path
为null
,则会重置页面操作的图标为在page_action
清单键中指定的图标。如果
path
为""
,则会将图标重置为浏览器的全局默认图标(即如果在page_action
清单键中未指定图标时使用的图标)。如果
path
指向的图标无效,则不会显示图标。 tabId
-
integer
。要设置图标的标签页的 ID。
返回值
Promise
,当图标被设置时将不带参数地兑现。
浏览器兼容性
BCD tables only load in the browser
示例
当用户点击页面操作时设置其图标:
browser.pageAction.onClicked.addListener((tab) => {
browser.pageAction.setIcon({
tabId: tab.id,
path: "icons/icon-48.png",
});
});
示例扩展
备注:
该 API 基于 Chromium 的 chrome.pageAction
API。本文衍生自 Chromium 代码中的 page_action.json
。