Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

action.setPopup()

Legt das HTML-Dokument fest, das als Popup geöffnet wird, wenn der Benutzer auf das Symbol der Browseraktion klickt. Registerkarten ohne ein spezifisches Popup übernehmen das globale Popup, das standardmäßig auf das default_popup im Manifest eingestellt ist.

Hinweis: Diese API ist in Manifest V3 oder höher verfügbar.

Syntax

js
browser.action.setPopup(
  details // object
)

Parameter

details

Ein Objekt mit den folgenden Eigenschaften:

tabId Optional

integer. Legt das Popup nur für eine bestimmte Registerkarte fest. Das Popup wird zurückgesetzt, wenn der Benutzer mit dieser Registerkarte zu einer neuen Seite navigiert.

windowId Optional

integer. Legt das Popup nur für das angegebene Fenster fest.

string oder null. Die HTML-Datei, die in einem Popup angezeigt werden soll, angegeben als URL.

Dies kann auf eine Datei verweisen, die innerhalb der Erweiterung gepackt ist (zum Beispiel erstellt mit extension.getURL), oder auf ein entferntes Dokument (z. B. https://example.org/).

Wenn hier ein leerer String ("") übergeben wird, wird das Popup deaktiviert, und die Erweiterung erhält action.onClicked-Ereignisse.

Wenn popup null ist:

  • Wenn tabId angegeben ist, entfernt es das registerspezifische Popup, sodass die Registerkarte das globale Popup übernimmt.
  • Wenn windowId angegeben ist, entfernt es das fensterspezifische Popup, sodass das Fenster das globale Popup übernimmt.
  • Wenn tabId und windowId beide weggelassen werden, wird das globale Popup auf den Standardwert zurückgesetzt.
  • Wenn sowohl windowId als auch tabId angegeben sind, schlägt die Funktion fehl und das Popup wird nicht gesetzt.
  • Wenn windowId und tabId beide weggelassen werden, wird das globale Popup gesetzt.

Beispiele

Dieser Code fügt ein Paar von Kontextmenüelementen hinzu, die Sie verwenden können, um zwischen zwei Popups zu wechseln. Beachten Sie, dass Sie die "contextMenus"-Berechtigung im Manifest der Erweiterung setzen müssen, um Kontextmenüelemente zu erstellen.

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((info, tab) => {
  if (info.menuItemId === "popup-1") {
    browser.action.setPopup({ popup: "/popup/popup1.html" });
  } else if (info.menuItemId === "popup-2") {
    browser.action.setPopup({ popup: "/popup/popup2.html" });
  }
});

Browser-Kompatibilität

Hinweis: Diese API basiert auf der API chrome.action von Chromium. Diese Dokumentation basiert auf browser_action.json im Chromium-Code.