browserAction.setPopup()
Legt das HTML-Dokument fest, das als Popup geöffnet wird, wenn der Benutzer auf das Symbol der Browseraktion klickt. Tabs ohne spezifisches Popup erben das globale Popup, das standardmäßig dem im Manifest angegebenen default_popup
entspricht.
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. 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. 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/
).Wird hier ein leerer String (
""
) übergeben, ist das Popup deaktiviert, und die Erweiterung erhältbrowserAction.onClicked
-Ereignisse.Wenn
popup
null
ist:- Wenn
tabId
angegeben ist, entfernt es das tab-spezifische Popup, damit der Tab das globale Popup erbt. - Wenn
windowId
angegeben ist, entfernt es das fensterspezifische Popup, damit das Fenster das globale Popup erbt. - Wenn
tabId
undwindowId
beide ausgelassen 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 ausgelassen werden, wird das globale Popup gesetzt.
Browser-Kompatibilität
Beispiele
Dieser Code fügt ein Paar von Kontextmenüelementen hinzu, mit denen Sie zwischen zwei Popups wechseln können. Beachten Sie, dass Sie die Berechtigung "contextMenus" im Manifest der Erweiterung festlegen 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.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.