Beschreibung
Mit der chrome.devtools.panels API können Sie Ihre Erweiterung in die Benutzeroberfläche des Entwicklertools-Fensters einbinden: Erstellen Sie eigene Bereiche, greifen Sie auf vorhandene Bereiche zu und fügen Sie Seitenleisten hinzu.
Jedes Erweiterungsfeld und jede Seitenleiste wird als separate HTML-Seite angezeigt. Alle Erweiterungsseiten, die im Fenster „Entwicklertools“ angezeigt werden, haben Zugriff auf alle Teile der chrome.devtools-API sowie auf alle anderen Erweiterungs-APIs.
Mit der Methode devtools.panels.setOpenResourceHandler können Sie eine Callback-Funktion installieren, die Nutzeranfragen zum Öffnen einer Ressource verarbeitet (in der Regel ein Klick auf einen Ressourcenlink im Fenster „Entwicklertools“). Es wird höchstens einer der installierten Handler aufgerufen. Nutzer können im Dialogfeld „Developer Tools Settings“ (Einstellungen für Entwicklertools) entweder das Standardverhalten oder eine Erweiterung angeben, die Anfragen zum Öffnen von Ressourcen verarbeitet. Wenn eine Erweiterung setOpenResourceHandler() mehrmals aufruft, wird nur der letzte Handler beibehalten.
Eine allgemeine Einführung in die Verwendung von Developer Tools-APIs finden Sie unter DevTools APIs summary.
Manifest
Die folgenden Schlüssel müssen im Manifest deklariert werden, damit diese API verwendet werden kann.
"devtools_page"Beispiel
Mit dem folgenden Code wird ein Bereich hinzugefügt, der in Panel.html enthalten ist und durch FontPicker.png in der Symbolleiste der Entwicklertools dargestellt wird. Er ist mit Schriftartauswahl beschriftet:
chrome.devtools.panels.create("Font Picker",
                              "FontPicker.png",
                              "Panel.html",
                              function(panel) { ... });
Mit dem folgenden Code wird dem Bereich „Elemente“ ein Seitenleistenbereich hinzugefügt, der in Sidebar.html enthalten ist und den Titel Schriftart-Eigenschaften hat. Anschließend wird die Höhe auf 8ex festgelegt:
chrome.devtools.panels.elements.createSidebarPane("Font Properties",
  function(sidebar) {
    sidebar.setPage("Sidebar.html");
    sidebar.setHeight("8ex");
  }
);
Der Screenshot zeigt, wie sich dieses Beispiel auf das Entwicklertools-Fenster auswirken würde:
 
  Wenn Sie diese API ausprobieren möchten, installieren Sie das Beispiel für die DevTools-Panels API aus dem Repository chrome-extension-samples.
Typen
Button
Eine Schaltfläche, die von der Erweiterung erstellt wurde.
Attribute
- 
    onClickedEvent<functionvoidvoid> Wird ausgelöst, wenn auf die Schaltfläche geklickt wird. Die onClicked.addListener-Funktion sieht so aus:(callback: function) => {...} - 
    callbackFunktion Der Parameter callbacksieht so aus:() => void 
 
- 
    
- 
    updatevoid Aktualisiert die Attribute der Schaltfläche. Wenn einige der Argumente weggelassen werden oder nullist, werden die entsprechenden Attribute nicht aktualisiert.Die update-Funktion sieht so aus:(iconPath?: string, tooltipText?: string, disabled?: boolean) => {...} - 
    iconPathString optional Pfad zum neuen Symbol der Schaltfläche. 
- 
    tooltipTextString optional Text, der als Kurzinfo angezeigt wird, wenn der Nutzer den Mauszeiger auf die Schaltfläche bewegt. 
- 
    deaktiviertboolean optional Gibt an, ob die Schaltfläche deaktiviert ist. 
 
- 
    
ElementsPanel
Stellt den Elementbereich dar.
Attribute
- 
    onSelectionChangedEvent<functionvoidvoid> Wird ausgelöst, wenn ein Objekt im Bereich ausgewählt wird. Die onSelectionChanged.addListener-Funktion sieht so aus:(callback: function) => {...} - 
    callbackFunktion Der Parameter callbacksieht so aus:() => void 
 
- 
    
- 
    createSidebarPanevoid Erstellt einen Bereich in der Seitenleiste des Steuerfelds. Die createSidebarPane-Funktion sieht so aus:(title: string, callback?: function) => {...} - 
    TitelString Text, der in der Seitenleistenüberschrift angezeigt wird. 
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:(result: ExtensionSidebarPane) => void - 
    ErgebnisEin ExtensionSidebarPane-Objekt für den erstellten Seitenleistenbereich. 
 
- 
    
 
- 
    
ExtensionPanel
Stellt einen von einer Erweiterung erstellten Bereich dar.
Attribute
- 
    onHiddenEvent<functionvoidvoid> Wird ausgelöst, wenn der Nutzer das Steuerfeld verlässt. Die onHidden.addListener-Funktion sieht so aus:(callback: function) => {...} - 
    callbackFunktion Der Parameter callbacksieht so aus:() => void 
 
- 
    
- 
    onSearchEvent<functionvoidvoid> Wird bei einer Suchaktion ausgelöst (Start einer neuen Suche, Navigation zu einem Suchergebnis oder Abbruch der Suche). Die onSearch.addListener-Funktion sieht so aus:(callback: function) => {...} - 
    callbackFunktion Der Parameter callbacksieht so aus:(action: string, queryString?: string) => void - 
    AktionString 
- 
    queryStringString optional 
 
- 
    
 
- 
    
- 
    onShownEvent<functionvoidvoid> Wird ausgelöst, wenn der Nutzer zum Bereich wechselt. Die onShown.addListener-Funktion sieht so aus:(callback: function) => {...} - 
    callbackFunktion Der Parameter callbacksieht so aus:(window: Window) => void - 
    FensterFenster 
 
- 
    
 
- 
    
- 
    createStatusBarButtonvoid Fügt der Statusleiste des Bereichs eine Schaltfläche hinzu. Die createStatusBarButton-Funktion sieht so aus:(iconPath: string, tooltipText: string, disabled: boolean) => {...} - 
    iconPathString Pfad zum Symbol der Schaltfläche. Die Datei sollte ein 64 × 24 Pixel großes Bild mit zwei 32 × 24 Pixel großen Symbolen enthalten. Das linke Symbol wird verwendet, wenn die Schaltfläche inaktiv ist. Das rechte Symbol wird angezeigt, wenn die Schaltfläche gedrückt wird. 
- 
    tooltipTextString Text, der als Kurzinfo angezeigt wird, wenn der Nutzer den Mauszeiger auf die Schaltfläche bewegt. 
- 
    deaktiviertboolean Gibt an, ob die Schaltfläche deaktiviert ist. 
 - 
            Gibt zurück
 
- 
    
- 
    Einblendenvoid Chrome 140+Das Steuerfeld wird durch Aktivieren des entsprechenden Tabs angezeigt. Die show-Funktion sieht so aus:() => {...}
ExtensionSidebarPane
Eine von der Erweiterung erstellte Seitenleiste.
Attribute
- 
    onHiddenEvent<functionvoidvoid> Wird ausgelöst, wenn der Seitenleistenbereich ausgeblendet wird, weil der Nutzer das Steuerfeld verlässt, in dem sich der Seitenleistenbereich befindet. Die onHidden.addListener-Funktion sieht so aus:(callback: function) => {...} - 
    callbackFunktion Der Parameter callbacksieht so aus:() => void 
 
- 
    
- 
    onShownEvent<functionvoidvoid> Wird ausgelöst, wenn der Seitenbereich in der Seitenleiste sichtbar wird, weil der Nutzer zu dem Bereich wechselt, in dem er gehostet wird. Die onShown.addListener-Funktion sieht so aus:(callback: function) => {...} - 
    callbackFunktion Der Parameter callbacksieht so aus:(window: Window) => void - 
    FensterFenster 
 
- 
    
 
- 
    
- 
    setExpressionvoid Legt einen Ausdruck fest, der auf der untersuchten Seite ausgewertet wird. Das Ergebnis wird im Seitenleistenbereich angezeigt. Die setExpression-Funktion sieht so aus:(expression: string, rootTitle?: string, callback?: function) => {...} - 
    AusdruckString Ein Ausdruck, der im Kontext der untersuchten Seite ausgewertet werden soll. JavaScript-Objekte und DOM-Knoten werden in einem aufklappbaren Baum ähnlich der Konsole/Beobachtung angezeigt. 
- 
    rootTitleString optional Ein optionaler Titel für den Stamm des Ausdrucksbaums. 
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:() => void 
 
- 
    
- 
    setHeightvoid Legt die Höhe der Seitenleiste fest. Die setHeight-Funktion sieht so aus:(height: string) => {...} - 
    HöheString Eine CSS-ähnliche Größenangabe, z. B. '100px'oder'12ex'.
 
- 
    
- 
    setObjectvoid Legt ein JSON-kompatibles Objekt fest, das im Seitenleistenbereich angezeigt werden soll. Die setObject-Funktion sieht so aus:(jsonObject: string, rootTitle?: string, callback?: function) => {...} - 
    jsonObjectString Ein Objekt, das im Kontext der geprüften Seite angezeigt werden soll. Wird im Kontext des Aufrufers (API-Client) ausgewertet. 
- 
    rootTitleString optional Ein optionaler Titel für den Stamm des Ausdrucksbaums. 
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:() => void 
 
- 
    
- 
    setPagevoid Legt fest, dass eine HTML-Seite im Seitenleistenbereich angezeigt wird. Die setPage-Funktion sieht so aus:(path: string) => {...} - 
    PfadString Relativer Pfad einer Erweiterungsseite, die in der Seitenleiste angezeigt werden soll. 
 
- 
    
SourcesPanel
Stellt den Quellenbereich dar.
Attribute
- 
    onSelectionChangedEvent<functionvoidvoid> Wird ausgelöst, wenn ein Objekt im Bereich ausgewählt wird. Die onSelectionChanged.addListener-Funktion sieht so aus:(callback: function) => {...} - 
    callbackFunktion Der Parameter callbacksieht so aus:() => void 
 
- 
    
- 
    createSidebarPanevoid Erstellt einen Bereich in der Seitenleiste des Steuerfelds. Die createSidebarPane-Funktion sieht so aus:(title: string, callback?: function) => {...} - 
    TitelString Text, der in der Seitenleistenüberschrift angezeigt wird. 
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:(result: ExtensionSidebarPane) => void - 
    ErgebnisEin ExtensionSidebarPane-Objekt für den erstellten Seitenleistenbereich. 
 
- 
    
 
- 
    
Attribute
elements
Bereich „Elemente“
Typ
sources
Quellenbereich
Typ
themeName
Der Name des Farbdesigns, das in den Einstellungen der Entwicklertools des Nutzers festgelegt ist. Mögliche Werte: default (Standard) und dark.
Typ
String
Methoden
create()
chrome.devtools.panels.create(
title: string,
iconPath: string,
pagePath: string,
callback?: function,
): void
Erstellt ein Erweiterungsfeld.
Parameter
- 
    TitelString Der Titel, der neben dem Erweiterungssymbol in der Symbolleiste der Entwicklertools angezeigt wird. 
- 
    iconPathString Pfad des Symbols des Bereichs relativ zum Erweiterungsverzeichnis. 
- 
    pagePathString Pfad der HTML-Seite des Bereichs relativ zum Erweiterungsverzeichnis. 
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:(panel: ExtensionPanel) => void - 
    KartenfeldEin ExtensionPanel-Objekt, das das erstellte Feld darstellt. 
 
- 
    
openResource()
chrome.devtools.panels.openResource(
url: string,
lineNumber: number,
columnNumber?: number,
callback?: function,
): void
Fordert die Entwicklertools auf, eine URL in einem Entwicklertools-Bereich zu öffnen.
Parameter
- 
    URLString Die URL der Ressource, die geöffnet werden soll. 
- 
    lineNumberZahl Gibt die Zeilennummer an, zu der gescrollt werden soll, wenn die Ressource geladen wird. 
- 
    columnNumbernumber optional Chrome 114 und höherGibt die Spaltennummer an, zu der gescrollt werden soll, wenn die Ressource geladen wird. 
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:() => void 
setOpenResourceHandler()
chrome.devtools.panels.setOpenResourceHandler(
callback?: function,
): void
Gibt die Funktion an, die aufgerufen werden soll, wenn der Nutzer im Fenster „Entwicklertools“ auf einen Ressourcenlink klickt. Um den Handler zu entfernen, rufen Sie die Methode entweder ohne Parameter auf oder übergeben Sie „null“ als Parameter.
Parameter
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:(resource: Resource, lineNumber: number) => void - 
    RessourceEin devtools.inspectedWindow.Resource-Objekt für die angeklickte Ressource.
- 
    lineNumberZahl Gibt die Zeilennummer innerhalb der Ressource an, auf die geklickt wurde. 
 
-