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,当图标被设置时将不带参数地兑现。
浏览器兼容性
Loading…
示例
当用户点击页面操作时设置其图标:
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。