Modules

sidebarAction.setIcon()

Définit l'icône de la barre latérale.

Vous pouvez spécifier une icône unique comme chemin d'accès à un fichier image ou un objet sidebarAction.ImageDataType.

Vous pouvez spécifier plusieurs icônes de différentes tailles en fournissant un dictionnaire contenant plusieurs chemins ou objets ImageData. Cela signifie que l'icône ne doit pas être mise à l'échelle pour un périphérique avec une densité de pixels différente.

C'est une fonction asynchrone qui renvoie une Promise.

Types d'icônes

Votre extension doit spécifier une icône pour la barre latérale dans la clé de manifest sidebar_action. C'est ce qu'on appelle "manifest icon".

Si vous ne spécifiez pas d'icône dans la clé sidebar_action, vous obtenez l'icône par défaut du navigateur. C'est ce qu'on appelle "default icon".

Si vous définissez une nouvelle icône à l'aide de setIcon(), et incluez l'option tabId , l'icône est définie uniquement pour l'onglet donné. C'est ce qu'on appelle "tab-specific icon".

Si vous définissez une nouvelle icône à l'aide de setIcon(), et omettez l'option tabId de setIcon(), cela définit "icône globale". L'icône globale apparaît alors dans tous les onglets qui n'ont pas de jeu d'icônes spécifique à l'onglet.

Syntaxe

var settingIcon = browser.sidebarAction.setIcon(
  details         // object
)

Paramètres

details
object. Un Objet contenant des propriétés imageData ou path, et éventuellement une propriété tabId.
imageDataFacultatif

sidebarAction.ImageDataType ou object. C'est un objet ImageData unique ou un objet dictionnaire.

Utilisez un objet dictionnaire pour spécifier plusieurs objets ImageData dans différentes tailles, de sorte que l'icône ne doit pas être mise à l'échelle pour un périphérique avec une densité de pixels différente. Si imageData est un dictionnaire, la valeur de chaque propriété est un objet ImageData, et son nom est sa taille, comme ceci :

{
  16: image16,
  32: image32
}

Le navigateur choisira l'image à utiliser en fonction de la densité de pixels de l'écran. Voir Choisir les tailles d'icônes pour plus d'informations à ce sujet.

pathFacultatif

string ou object. C'est soit un chemin relatif vers un fichier d'icône, soit un objet dictionnaire. 

Utilisez un objet de dictionnaire pour spécifier plusieurs fichiers d'icônes de différentes tailles, de sorte que l'icône ne doit pas être mise à l'échelle pour un périphérique avec une densité de pixels différente. Si path est un dictionnaire, la valeur de chaque propriété est un chemin relatif, et son nom est sa taille, comme ceci :

{
  16: "path/to/image16.jpg",
  32: "path/to/image32.jpg"
}

Le navigateur choisira l'image à utiliser en fonction de la densité de pixels de l'écran. Voir Choosir les tailles d'icônes pour plus d'informations à ce sujet.

si path est une chaîne vide, le navigateur utilisera l'icône par défaut.

si path n'est pas vide mais ne pointe pas vers un fichier d'icône, l'icône est masquée.

si path est null, et tabIda été spécifié, et que l'onglet spécifié possède un jeu d'icônes spécifique à l'onglet: l'icône spécifique à l'onglet est réinitialisée à l'icône globale (si une icône globale est définie) ou à l'icône manifeste.

si path est null, et tabId a été omis, et qu'il y avait un jeu d'icônes global, il sera réinitialisé à l'icône de manifest.

tabIdFacultatif
integer. Définit l'icône uniquement pour l'onglet spécifié.
Si cela est omis, l'icône est mise à jour pour tous les onglets.

Valeur retournée

Une Promise qui sera remplie sans argument une fois l'icône définie.

Compatibilité du navigateur

ChromeEdgeFirefoxFirefox for AndroidOpera
Support simple Non Non54 Non Oui
The path and imageData properties of the details parameter can be set to null. Non Non59 Non Non
details.windowId Non Non61 Non Non

Exemples

Le code ci-dessous bascule l'icône de la barre latérale de l'onglet actif lorsque l'utilisateur clique sur une action du navigateur :

var on = false;

function toggle(tab) {
  if (on) {
    browser.sidebarAction.setIcon({
      path: "off.svg",
      tabId: tab.id
    });
    on = false;
  } else {
    browser.sidebarAction.setIcon({
      path: "on.svg",
      tabId: tab.id
    });
    on = true;
  }
}

browser.browserAction.onClicked.addListener(toggle);

Remerciements :

Cette API est basée sur l'API Opera chrome.sidebarAction.

Étiquettes et contributeurs liés au document

Contributeurs à cette page : hellosct1
Dernière mise à jour par : hellosct1,