action.setPopup()
Setzt das HTML-Dokument, das geöffnet wird, wenn der Benutzer auf das Symbol der Browser-Aktion klickt. Tabs ohne ein spezifisches Popup erben das globale Popup, welches standardmäßig im default_popup des Manifests angegeben ist.
Hinweis: Diese API ist in Manifest V3 oder höher verfügbar.
Syntax
browser.action.setPopup(
details // object
)
Parameter
details-
Ein Objekt mit den folgenden Eigenschaften:
tabIdOptional-
integer. Setzt das Popup nur für einen bestimmten Tab. Das Popup wird zurückgesetzt, wenn der Benutzer diesen Tab auf eine neue Seite navigiert. windowIdOptional-
integer. Setzt das Popup nur für das angegebene Fenster. popup-
stringodernull. Die HTML-Datei, die in einem Popup angezeigt werden soll, angegeben als URL.Dies kann auf eine im Add-on enthaltene Datei zeigen (zum Beispiel, erstellt mithilfe von
runtime.getURL), oder auf ein entferntes Dokument (z.B.https://example.org/).Wenn hier ein leerer String (
"") übergeben wird, wird das Popup deaktiviert und das Add-on erhältaction.onClicked-Ereignisse.Wenn
popupnullist:- Wenn
tabIdangegeben ist, wird das tab-spezifische Popup entfernt, sodass der Tab das globale Popup erbt. - Wenn
windowIdangegeben ist, wird das fenster-spezifische Popup entfernt, sodass das Fenster das globale Popup erbt. - Wenn
tabIdundwindowIdbeide nicht angegeben sind, wird das globale Popup auf den Standardwert zurückgesetzt.
- Wenn
- Wenn
windowIdundtabIdbeide angegeben sind, schlägt die Funktion fehl und das Popup wird nicht gesetzt. - Wenn
windowIdundtabIdbeide weggelassen werden, wird das globale Popup gesetzt.
Beispiele
Dieser Code fügt ein Paar von Kontextmenüeinträgen hinzu, die verwendet werden können, um zwischen zwei Popups zu wechseln. Beachten Sie, dass Sie die "contextMenus" Berechtigung im Manifest des Add-ons festlegen müssen, um Kontextmenüeinträge zu erstellen.
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 chrome.action API von Chromium. Diese Dokumentation ist abgeleitet von browser_action.json im Chromium-Code.