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 spezifisches Popup erben das globale Popup, das standardmäßig auf das im Manifest angegebene default_popup zurückgreift.
Syntax
browser.browserAction.setPopup(
details // object
)
Parameter
details-
Ein Objekt mit den folgenden Eigenschaften:
tabIdOptional-
integer. Legt das Popup nur für einen spezifischen Tab fest. Das Popup wird zurückgesetzt, wenn der Benutzer diesen Tab zu einer neuen Seite navigiert. windowIdOptional-
integer. Legt das Popup nur für das angegebene Fenster fest. popup-
stringodernull. Die HTML-Datei, die in einem Popup angezeigt werden soll, angegeben als URL.Dies kann auf eine innerhalb der Erweiterung gepackte Datei verweisen (zum Beispiel erstellt mit
extension.getURL) oder ein entferntes Dokument (z.B.https://example.org/).Wenn hier ein leerer String (
"") übergeben wird, wird das Popup deaktiviert und die Erweiterung erhältbrowserAction.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 fensterspezifische Popup entfernt, sodass das Fenster das globale Popup erbt. - Wenn
tabIdundwindowIdbeide weggelassen werden, 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 festgelegt.
Beispiele
Dieser Code fügt ein Paar Kontextmenüelemente hinzu, mit denen Sie zwischen zwei Popups wechseln können. Beachten Sie, dass Sie die Berechtigung "contextMenus" 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.browserAction.setPopup({ popup: "/popup/popup1.html" });
} else if (info.menuItemId === "popup-2") {
browser.browserAction.setPopup({ popup: "/popup/popup2.html" });
}
});
Browser-Kompatibilität
Loading…
Hinweis:
Diese API basiert auf Chromiums chrome.browserAction API. Diese Dokumentation ist abgeleitet von browser_action.json im Chromium-Code.