chrome.devtools.panels

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 DevTools-APIs finden Sie unter DevTools-APIs – Zusammenfassung.

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 seine 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:

Symbolleiste für Erweiterungen in der Symbolleiste der Entwicklertools
Bereich mit Erweiterungssymbolen in der Symbolleiste der Entwicklertools

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

  • onClicked

    Event<functionvoidvoid>

    Wird ausgelöst, wenn auf die Schaltfläche geklickt wird.

    Die onClicked.addListener-Funktion sieht so aus:

    (callback: function) => {...}

    • callback

      Funktion

      Der Parameter callback sieht so aus:

      () => void

  • update

    void

    Aktualisiert die Attribute der Schaltfläche. Wenn einige der Argumente weggelassen werden oder null ist, werden die entsprechenden Attribute nicht aktualisiert.

    Die update-Funktion sieht so aus:

    (iconPath?: string, tooltipText?: string, disabled?: boolean) => {...}

    • iconPath

      String optional

      Pfad zum neuen Symbol der Schaltfläche.

    • tooltipText

      String optional

      Text, der als Kurzinfo angezeigt wird, wenn der Nutzer den Mauszeiger auf die Schaltfläche bewegt.

    • deaktiviert

      boolean optional

      Gibt an, ob die Schaltfläche deaktiviert ist.

ElementsPanel

Stellt den Elementbereich dar.

Attribute

  • onSelectionChanged

    Event<functionvoidvoid>

    Wird ausgelöst, wenn ein Objekt im Bereich ausgewählt wird.

    Die onSelectionChanged.addListener-Funktion sieht so aus:

    (callback: function) => {...}

    • callback

      Funktion

      Der Parameter callback sieht so aus:

      () => void

  • createSidebarPane

    void

    Erstellt einen Bereich in der Seitenleiste des Bereichs.

    Die createSidebarPane-Funktion sieht so aus:

    (title: string, callback?: function) => {...}

    • Titel

      String

      Text, der in der Seitenleistenüberschrift angezeigt wird.

    • callback

      Funktion optional

      Der Parameter callback sieht so aus:

      (result: ExtensionSidebarPane) => void

      • Ein ExtensionSidebarPane-Objekt für den erstellten Seitenleistenbereich.

ExtensionPanel

Stellt einen von einer Erweiterung erstellten Bereich dar.

Attribute

  • onHidden

    Event<functionvoidvoid>

    Wird ausgelöst, wenn der Nutzer das Steuerfeld verlässt.

    Die onHidden.addListener-Funktion sieht so aus:

    (callback: function) => {...}

    • callback

      Funktion

      Der Parameter callback sieht so aus:

      () => void

  • onSearch

    Event<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) => {...}

    • callback

      Funktion

      Der Parameter callback sieht so aus:

      (action: string, queryString?: string) => void

      • Aktion

        String

      • queryString

        String optional

  • onShown

    Event<functionvoidvoid>

    Wird ausgelöst, wenn der Nutzer zum Bereich wechselt.

    Die onShown.addListener-Funktion sieht so aus:

    (callback: function) => {...}

    • callback

      Funktion

      Der Parameter callback sieht so aus:

      (window: Window) => void

      • Fenster

        Fenster

  • createStatusBarButton

    void

    Fügt der Statusleiste des Bereichs eine Schaltfläche hinzu.

    Die createStatusBarButton-Funktion sieht so aus:

    (iconPath: string, tooltipText: string, disabled: boolean) => {...}

    • iconPath

      String

      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.

    • tooltipText

      String

      Text, der als Kurzinfo angezeigt wird, wenn der Nutzer den Mauszeiger auf die Schaltfläche bewegt.

    • deaktiviert

      boolean

      Gibt an, ob die Schaltfläche deaktiviert ist.

  • Einblenden

    void

    Ausstehend

    Das Steuerfeld wird durch Aktivieren des entsprechenden Tabs angezeigt.

    Die show-Funktion sieht so aus:

    () => {...}

ExtensionSidebarPane

Eine von der Erweiterung erstellte Seitenleiste.

Attribute

  • onHidden

    Event<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) => {...}

    • callback

      Funktion

      Der Parameter callback sieht so aus:

      () => void

  • onShown

    Event<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) => {...}

    • callback

      Funktion

      Der Parameter callback sieht so aus:

      (window: Window) => void

      • Fenster

        Fenster

  • setExpression

    void

    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) => {...}

    • Ausdruck

      String

      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.

    • rootTitle

      String optional

      Ein optionaler Titel für den Stamm des Ausdrucksbaums.

    • callback

      Funktion optional

      Der Parameter callback sieht so aus:

      () => void

  • setHeight

    void

    Legt die Höhe der Seitenleiste fest.

    Die setHeight-Funktion sieht so aus:

    (height: string) => {...}

    • Höhe

      String

      Eine CSS-ähnliche Größenangabe, z. B. '100px' oder '12ex'.

  • setObject

    void

    Legt ein JSON-kompatibles Objekt fest, das im Seitenleistenbereich angezeigt werden soll.

    Die setObject-Funktion sieht so aus:

    (jsonObject: string, rootTitle?: string, callback?: function) => {...}

    • jsonObject

      String

      Ein Objekt, das im Kontext der geprüften Seite angezeigt werden soll. Wird im Kontext des Aufrufers (API-Client) ausgewertet.

    • rootTitle

      String optional

      Ein optionaler Titel für den Stamm des Ausdrucksbaums.

    • callback

      Funktion optional

      Der Parameter callback sieht so aus:

      () => void

  • setPage

    void

    Legt fest, dass eine HTML-Seite im Seitenleistenbereich angezeigt wird.

    Die setPage-Funktion sieht so aus:

    (path: string) => {...}

    • Pfad

      String

      Relativer Pfad einer Erweiterungsseite, die in der Seitenleiste angezeigt werden soll.

SourcesPanel

Stellt den Quellenbereich dar.

Attribute

  • onSelectionChanged

    Event<functionvoidvoid>

    Wird ausgelöst, wenn ein Objekt im Bereich ausgewählt wird.

    Die onSelectionChanged.addListener-Funktion sieht so aus:

    (callback: function) => {...}

    • callback

      Funktion

      Der Parameter callback sieht so aus:

      () => void

  • createSidebarPane

    void

    Erstellt einen Bereich in der Seitenleiste des Bereichs.

    Die createSidebarPane-Funktion sieht so aus:

    (title: string, callback?: function) => {...}

    • Titel

      String

      Text, der in der Seitenleistenüberschrift angezeigt wird.

    • callback

      Funktion optional

      Der Parameter callback sieht so aus:

      (result: ExtensionSidebarPane) => void

      • Ein ExtensionSidebarPane-Objekt für den erstellten Seitenleistenbereich.

Attribute

elements

Bereich „Elemente“

sources

Quellenbereich

themeName

Chrome 59 und höher

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

  • Titel

    String

    Der Titel, der neben dem Erweiterungssymbol in der Symbolleiste der Entwicklertools angezeigt wird.

  • iconPath

    String

    Pfad des Symbols des Bereichs relativ zum Erweiterungsverzeichnis.

  • pagePath

    String

    Pfad der HTML-Seite des Bereichs relativ zum Erweiterungsverzeichnis.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (panel: ExtensionPanel) => void

    • Kartenfeld

      Ein 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

  • URL

    String

    Die URL der Ressource, die geöffnet werden soll.

  • lineNumber

    Zahl

    Gibt die Zeilennummer an, zu der gescrollt werden soll, wenn die Ressource geladen wird.

  • columnNumber

    number optional

    Chrome 114 und höher

    Gibt die Spaltennummer an, zu der gescrollt werden soll, wenn die Ressource geladen wird.

  • callback

    Funktion optional

    Der Parameter callback sieht 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

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (resource: Resource, lineNumber: number) => void