sidebarAction.setPanel()
Setzt das Panel der Seitenleiste: das heißt, das HTML-Dokument, das den Inhalt dieser Seitenleiste definiert.
Arten von Panels
Seitenleisten haben immer ein "Manifest-Panel", das im sidebar_action
Manifest-Schlüssel definiert ist.
Wenn Sie ein neues Panel mit setPanel()
festlegen und die Option tabId
einschließen, wird das Panel nur für den angegebenen Tab festgelegt. Dieses Panel wird als "tab-spezifisches Panel" bezeichnet.
Wenn Sie ein neues Panel mit setPanel()
festlegen und die Option windowId
einschließen, wird das Panel nur für das angegebene Fenster festgelegt. Dieses Panel wird als "fenster-spezifisches Panel" bezeichnet und erscheint in allen Tabs dieses Fensters, die kein tab-spezifisches Panel festgelegt haben.
Wenn Sie ein neues Panel mit setPanel()
festlegen und sowohl die Optionen tabId
als auch windowId
weglassen, wird das "globale Panel" festgelegt. Das globale Panel wird dann in allen Tabs angezeigt, die kein tab-spezifisches Panel haben und deren Fenster kein fenster-spezifisches Panel hat.
Syntax
browser.sidebarAction.setPanel(
details // object
)
Parameter
details
-
object
. Ein Objekt mit den folgenden Eigenschaften:panel
-
string
odernull
. Das Panel, das in die Seitenleiste geladen werden soll, angegeben als URL, die auf ein HTML-Dokument verweist, odernull
, oder eine leere Zeichenfolge.Dies kann auf eine innerhalb der Erweiterung gepackte Datei verweisen (zum Beispiel erstellt mit
runtime.getURL
), oder ein entferntes Dokument (z.B.https://example.org/
). Es muss eine gültige URL sein.Wenn
panel
null
oder""
ist, wird ein zuvor festgelegtes Panel entfernt, sodass:- Wenn
tabId
angegeben ist, und der Tab ein tab-spezifisches Panel hat, dann erbt der Tab das Panel von dem Fenster, zu dem es gehört. - Wenn
windowId
angegeben ist, und das Fenster ein fenster-spezifisches Panel hat, dann erbt das Fenster das globale Panel. - Andernfalls wird das globale Panel auf das Manifest-Panel zurückgesetzt.
- Wenn
tabId
Optional-
integer
. Legt das Panel nur für den angegebenen Tab fest. windowId
Optional-
integer
. Legt das Panel nur für das angegebene Fenster fest.
- Wenn
windowId
undtabId
beide angegeben sind, schlägt die Funktion fehl und das Panel wird nicht festgelegt. - Wenn
windowId
undtabId
beide weggelassen werden, wird das globale Panel festgelegt.
Beispiele
Dieser Code wechselt das Dokument der Seitenleiste, wenn der Benutzer auf eine Browseraktion klickt:
let thisPanel = browser.runtime.getURL("/this.html");
let thatPanel = browser.runtime.getURL("/that.html");
function toggle(panel) {
if (panel === thisPanel) {
browser.sidebarAction.setPanel({ panel: thatPanel });
} else {
browser.sidebarAction.setPanel({ panel: thisPanel });
}
}
browser.browserAction.onClicked.addListener(() => {
browser.sidebarAction.getPanel({}).then(toggle);
});
Browser-Kompatibilität
BCD tables only load in the browser
Hinweis: Diese API basiert auf der chrome.sidebarAction
API von Opera.