browserAction.setPopup()

Définit le document HTML qui sera ouvert en tant que popup lorsque l'utilisateur clique sur l'icône de l'action du navigateur. Les onglets sans popup spécifique hériteront de la popup globale, qui par défaut est la default_popup spécifiée dans le manifest.

Syntaxe

js
browser.browserAction.setPopup(
  details, // object
);

Paramètres

details

object.

tabIdFacultatif

integer. Définit la fenêtre contextuelle uniquement pour un onglet spécifique. La fenêtre contextuelle est réinitialisée lorsque l'utilisateur navigue dans cet onglet vers une nouvelle page.

windowIdFacultatif

integer. Définit le popup uniquement pour la fenêtre spécifiée.

string ou null. Le fichier HTML à afficher dans un popup, spécifié comme URL.

Ceci peut pointer vers un fichier empaqueté dans l'extension (par exemple, créé à l'aide de extension.getURL), ou un document distant (par exemple https://example.org/).

Si une chaîne vide ("") est passée ici, le popup est désactivé, et l'extension recevra les événements browserAction.onClicked.

Si le popup est null:

Si tabId est spécifié, supprime la fenêtre popup spécifique à l'onglet afin que l'onglet hérite de la fenêtre popup globale..

Si windowId est spécifié, supprime le popup spécifique à la fenêtre afin que la fenêtre hérite du popup global.

Sinon, la fenêtre contextuelle globale revient à la valeur par défaut.

  • Si windowId et tabId sont tous les deux fournis, la fonction échoue et le popup n'est pas défini.
  • Si windowId et tabId sont tous les deux omis, la fenêtre contextuelle globale est définie.

Exemples

Ce code ajoute une paire d'éléments de menu contextuel que vous pouvez utiliser pour basculer entre deux fenêtres contextuelles. Notez que vous aurez besoin de la permission "contextMenus" définie dans le manifest de l'extension pour créer des éléments du menu contextuel.

js
function onCreated() {
  if (browser.runtime.lastError) {
    console.log("error creating item:" + browser.runtime.lastError);
  } else {
    console.log("item created successfully");
  }
}

browser.contextMenus.create(
  {
    id: "popup-1",
    type: "radio",
    title: "Popup 1",
    contexts: ["all"],
    checked: true,
  },
  onCreated,
);

browser.contextMenus.create(
  {
    id: "popup-2",
    type: "radio",
    title: "Popup 2",
    contexts: ["all"],
    checked: false,
  },
  onCreated,
);

browser.contextMenus.onClicked.addListener(function (info, tab) {
  if (info.menuItemId == "popup-1") {
    browser.browserAction.setPopup({ popup: "/popup/popup1.html" });
  } else if (info.menuItemId == "popup-2") {
    browser.browserAction.setPopup({ popup: "/popup/popup2.html" });
  }
});

Compatibilité des navigateurs

BCD tables only load in the browser

Note :

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.