pageAction.setIcon()
Sets the icon for the page action.
You can specify a single icon as either the path to an image file or a pageAction.ImageDataType
object.
You can specify multiple icons in different sizes by supplying a dictionary containing multiple paths or ImageData
objects. This means the icon doesn't have to be scaled for a device with a different pixel density.
This is an asynchronous function that returns a Promise
.
Syntax
let settingIcon = browser.pageAction.setIcon(
details
)
Parameters
-
details
-
object
. An object containing either imageData
or path
properties, and a tabId
property.
imageData
Optional
-
pageAction.ImageDataType
or object
. This is either a single ImageData
object or a dictionary object.
Use a dictionary object to specify multiple ImageData
objects in different sizes, so the icon does not have to be scaled for a device with a different pixel density. If imageData
is a dictionary, the value of each property is an ImageData
object, and its name is its size, like this:
{
16: image16,
32: image32
}
The browser will choose the image to use depending on the screen's pixel density. See Choosing icon sizes for more information on this.
path
Optional
-
string
or object
. This is either a relative path to an icon file or a dictionary object.
Use a dictionary object to specify multiple icon files in different sizes, so the icon does not have to be scaled for a device with a different pixel density. If path
is a dictionary, the value of each property is a relative path, and its name is its size, like this:
{
16: "path/to/image16.jpg",
32: "path/to/image32.jpg"
}
The browser will choose the image to use depending on the screen's pixel density. See Choosing icon sizes for more information on this.
If path
is null
, this will reset the page action's icon to the icon that was given in the page_action
manifest key.
If path
is ""
, this will reset the icon to the browser's global default icon (that is, the icon used if no icon is given in the page_action
manifest key).
If path
does not point to a valid icon, then no icon will be displayed.
-
tabId
-
integer
. The ID of the tab whose icon you want to set.
Return value
A Promise
that will be fulfilled with no arguments once the icon has been set.
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
setIcon |
YesBefore Chrome 23, path couldn't specify multiple icon files, but had to be a string specifying a single icon path.
|
14 |
45 |
? |
15 |
14 |
? |
? |
79 |
? |
15 |
? |
imageData |
23 |
79 |
45 |
? |
15 |
14 |
? |
? |
No |
? |
15 |
? |
null |
No |
No |
59 |
? |
No |
14 |
? |
? |
No |
? |
15 |
? |
Examples
Set the icon for the page action when the user clicks it:
browser.pageAction.onClicked.addListener((tab) => {
browser.pageAction.setIcon({
tabId: tab.id, path: "icons/icon-48.png"
});
});