browserAction.setPopup()
Legt das HTML-Dokument fest, das als Popup geöffnet wird, wenn der Benutzer auf das Symbol der Browser-Aktion klickt. Tabs ohne ein spezifisches Popup erben das globale Popup, das standardmäßig auf das default_popup
eingestellt ist, welches im Manifest spezifiziert ist.
Syntax
browser.browserAction.setPopup(
details // object
)
Parameter
details
-
Ein Objekt mit den folgenden Eigenschaften:
tabId
Optional-
integer
. Setzt das Popup nur für einen bestimmten Tab ein. Das Popup wird zurückgesetzt, wenn der Benutzer diesen Tab zu einer neuen Seite navigiert. windowId
Optional-
integer
. Setzt das Popup nur für das angegebene Fenster ein. popup
-
string
odernull
. Die HTML-Datei, die in einem Popup angezeigt werden soll, angegeben als URL.Dies kann auf eine im Add-on gepackte Datei verweisen (zum Beispiel erstellt mit
extension.getURL
) oder auf ein entferntes Dokument (z.B.https://example.org/
).Wenn ein leerer String (
""
) hier übergeben wird, wird das Popup deaktiviert und das Add-on erhältbrowserAction.onClicked
Ereignisse.Wenn
popup
null
ist:- Wenn
tabId
angegeben ist, wird das tab-spezifische Popup entfernt, sodass der Tab das globale Popup erbt. - Wenn
windowId
angegeben ist, wird das fensterspezifische Popup entfernt, sodass das Fenster das globale Popup erbt. - Wenn
tabId
undwindowId
beide weggelassen werden, wird das globale Popup auf den Standardwert zurückgesetzt.
- Wenn
- Wenn
windowId
undtabId
beide angegeben sind, schlägt die Funktion fehl und das Popup wird nicht gesetzt. - Wenn
windowId
undtabId
beide weggelassen werden, wird das globale Popup gesetzt.
Browser-Kompatibilität
Beispiele
Dieser Code fügt ein Paar Kontextmenüeinträge hinzu, mit denen Sie zwischen zwei Popups wechseln können. Beachten Sie, dass Sie die "contextMenus" Berechtigung im Manifest des Add-ons einstellen 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.browserAction.setPopup({ popup: "/popup/popup1.html" });
} else if (info.menuItemId === "popup-2") {
browser.browserAction.setPopup({ popup: "/popup/popup2.html" });
}
});
Hinweis:
Diese API basiert auf Chromiums chrome.browserAction
API. Diese Dokumentation ist abgeleitet von browser_action.json
im Chromium-Code.