devtools.panels.create()

Fügt ein neues Panel zu den Devtools hinzu.

Diese Funktion erfordert: einen Titel, eine URL zu einer Icon-Datei und eine URL zu einer HTML-Datei. Sie erstellt ein neues Panel in den Devtools, dessen Inhalt durch die HTML-Datei festgelegt wird. Die Funktion gibt ein Promise zurück, das zu einem ExtensionPanel-Objekt aufgelöst wird, das das neue Panel repräsentiert.

Syntax

js
let creating = browser.devtools.panels.create(
  title,       // string
  iconPath,    // string
  pagePath     // string
)

Parameter

title

string. Der Titel des Panels. Dieser erscheint in der Reihe der Tabs oben im Devtools-Fenster und ist die Hauptmethode, mit der der Benutzer Ihr Panel identifizieren kann.

iconPath

string. Gibt ein Icon an, das neben dem Titel angezeigt wird. Es wird als URL zu einer Bilddatei bereitgestellt, die mit Ihrer Erweiterung gebündelt wurde. Chromium-basierte Browser und Safari interpretieren diese URL als absolut, während Firefox sie relativ zur aktuellen Erweiterungsseite auflöst (es sei denn, sie wird als absolute URL angegeben, z.B. "/icons/panel.png").

pagePath

string. Gibt eine HTML-Datei an, die den Inhalt des Panels definiert. Sie wird als URL zu einer HTML-Datei bereitgestellt, die mit Ihrer Erweiterung gebündelt wurde. Die URL kann als absolute URL oder relativ zur aktuellen Erweiterungsseite aufgelöst werden. Weitere Informationen finden Sie in den Browser-Kompatibilitätsdaten. Die HTML-Datei kann CSS- und JavaScript-Dateien enthalten, genau wie eine normale Webseite. Das JavaScript, das im Panel läuft, kann die Devtools-APIs verwenden. Weitere Informationen finden Sie unter Erweiterung der Entwickler-Tools.

Rückgabewert

Ein Promise, das mit einem ExtensionPanel-Objekt erfüllt wird, das das neue Panel repräsentiert.

Beispiele

Erstellen Sie ein neues Panel und fügen Sie Listener für dessen onShown- und onHidden-Ereignisse hinzu:

js
function handleShown() {
  console.log("panel is being shown");
}

function handleHidden() {
  console.log("panel is being hidden");
}

browser.devtools.panels
  .create(
    "My Panel", // title
    "/icons/star.png", // icon
    "/devtools/panel/panel.html", // content
  )
  .then((newPanel) => {
    newPanel.onShown.addListener(handleShown);
    newPanel.onHidden.addListener(handleHidden);
  });

Browser-Kompatibilität

Hinweis: Diese API basiert auf Chromiums chrome.devtools.panels API.