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.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_actionmanifest 键中提供的图标。如果
path为"",这将把图标重置为浏览器的全局默认图标(即,如果在page_actionmanifest 键中未提供图标时使用的图标)。如果
path未指向有效的图标,则不会显示任何图标。 tabId-
integer。您要设置图标的标签页的 ID。
返回值
一个 Promise,一旦设置了图标,它将以无参数的形式履行。
示例
当用户单击页面操作时设置其图标
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。