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
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. popup
-
string
odernull
. 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ältaction.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
undwindowId
beide weggelassen werden, wird das globale Popup auf den Standardwert zurückgesetzt.
- Wenn
- Wenn sowohl
windowId
als auchtabId
angegeben sind, schlägt die Funktion fehl und das Popup wird nicht gesetzt. - Wenn
windowId
undtabId
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.
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
Loading…
Hinweis:
Diese API basiert auf der API chrome.action
von Chromium. Diese Dokumentation basiert auf browser_action.json
im Chromium-Code.