pageAction.setIcon()
设置页面操作的图标。
您可以将单个图标指定为图像文件路径或 pageAction.ImageDataType
对象。
您可以通过提供包含多个路径或 ImageData
对象的字典,指定不同大小的多个图标。这意味着图标不必针对像素密度不同的设备进行缩放。
这是一个异步函数,它返回一个 Promise
。
语法
let settingIcon = browser.pageAction.setIcon(
details // object
)
参数
details
-
object
。包含imageData
或path
属性以及tabId
属性的对象。imageData
可选-
或pageAction.ImageDataType
object
。这可以是单个ImageData
对象或字典对象。使用字典对象来指定不同大小的多个
ImageData
对象,这样图标就不必针对像素密度不同的设备进行缩放。如果imageData
是字典,则每个属性的值都是一个ImageData
对象,其名称是其大小,例如jslet settingIcon = browser.action.setIcon({ imageData: { 16: image16, 32: image32, }, });
浏览器将根据屏幕的像素密度选择要使用的图像。有关此内容的更多信息,请参见 选择图标大小。
path
可选-
string
或object
。这可以是图标文件的相对路径或字典对象。使用字典对象来指定不同大小的多个图标文件,这样图标就不必针对像素密度不同的设备进行缩放。如果
path
是字典,则每个属性的值都是一个相对路径,其名称是其大小,例如jslet settingIcon = browser.action.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 表格仅在启用了 JavaScript 的浏览器中加载。
示例
在用户点击页面操作时设置其图标
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
。