chrome.devtools.panels

Beschrijving

Gebruik de chrome.devtools.panels API om uw extensie te integreren in de gebruikersinterface van het venster Ontwikkelaarstools: maak uw eigen panelen, krijg toegang tot bestaande panelen en voeg zijbalken toe.

Manifest

De volgende sleutels moeten in het manifest worden gedeclareerd om deze API te kunnen gebruiken.

"devtools_page"

Zie het overzicht van de DevTools API's voor een algemene introductie tot het gebruik van de Developer Tools API's.

Overzicht

Elk extensiepaneel en elke zijbalk wordt weergegeven als een aparte HTML-pagina. Alle extensiepagina's die in het venster Ontwikkelaarstools worden weergegeven, hebben toegang tot alle modules in de chrome.devtools API, evenals tot de chrome.extension API. Andere extensie-API's zijn niet beschikbaar voor de pagina's in het venster Ontwikkelaarstools, maar u kunt ze aanroepen door een verzoek te sturen naar de achtergrondpagina van uw extensie, op dezelfde manier als in de contentscripts .

U kunt de methode devtools.panels.setOpenResourceHandler gebruiken om een ​​callbackfunctie te installeren die gebruikersverzoeken afhandelt om een ​​resource te openen (meestal een klik op een resourcelink in het venster Ontwikkelaarstools). Er wordt maximaal één van de geïnstalleerde handlers aangeroepen; gebruikers kunnen (via het dialoogvenster Instellingen Ontwikkelaarstools) het standaardgedrag of een extensie specificeren om verzoeken voor het openen van resources af te handelen. Als een extensie setOpenResourceHandler() meerdere keren aanroept, wordt alleen de laatste handler behouden.

Voorbeelden

De volgende code voegt een paneel uit Panel.html toe, weergegeven door FontPicker.png , aan de werkbalk van de ontwikkelaarstools en gelabeld als Font Picker :

chrome.devtools.panels.create("Font Picker",
                              "FontPicker.png",
                              "Panel.html",
                              function(panel) { ... });

De volgende code voegt een zijbalkpaneel met de titel 'Lettertype-eigenschappen' , zoals opgenomen in Sidebar.html , toe aan het paneel 'Elementen' en stelt de hoogte ervan in op 8ex :

chrome.devtools.panels.elements.createSidebarPane("Font Properties",
  function(sidebar) {
    sidebar.setPage("Sidebar.html");
    sidebar.setHeight("8ex");
  }
);

Deze schermafbeelding laat zien welk effect de bovenstaande voorbeelden hebben op het venster Ontwikkelaarstools:

Extensiepictogrampaneel op de DevTools-werkbalk

Om deze API uit te proberen, installeer je het API-voorbeeld voor ontwikkelaarstools uit de chrome-extension-samples- repository.

Soorten

Button

Een knop die door de extensie is aangemaakt.

Eigenschappen

  • aangeklikt

    Event<functionvoidvoid>

    Wordt geactiveerd wanneer er op de knop wordt geklikt.

    De functie onClicked.addListener ziet er als volgt uit:

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

    • terugbelverzoek

      functie

      De callback parameter ziet er als volgt uit:

      () => void

  • update

    leegte

    Werkt de eigenschappen van de knop bij. Als sommige argumenten ontbreken of null zijn, worden de bijbehorende eigenschappen niet bijgewerkt.

    De update ziet er als volgt uit:

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

    • pictogramPad

      string optioneel

      Pad naar het nieuwe pictogram van de knop.

    • tooltipTekst

      string optioneel

      De tekst die als tooltip verschijnt wanneer de gebruiker de muis over de knop beweegt.

    • gehandicapt

      boolean optioneel

      Of de knop is uitgeschakeld.

ElementsPanel

Dit vertegenwoordigt het paneel Elementen.

Eigenschappen

  • bijSelectieGewijzigd

    Event<functionvoidvoid>

    Wordt geactiveerd wanneer een object in het paneel wordt geselecteerd.

    De functie onSelectionChanged.addListener ziet er als volgt uit:

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

    • terugbelverzoek

      functie

      De callback parameter ziet er als volgt uit:

      () => void

  • createSidebarPane

    leegte

    Belofte

    Hiermee wordt een venster in de zijbalk van het paneel gemaakt.

    De functie createSidebarPane ziet er als volgt uit:

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

    • titel

      snaar

      Tekst die wordt weergegeven in de zijbalk.

    • terugbelverzoek

      functie optioneel

      De callback parameter ziet er als volgt uit:

      (result: ExtensionSidebarPane) => void

    • retourneert
      In behandeling

      Een callback die wordt aangeroepen wanneer de zijbalk wordt aangemaakt.

      Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.

ExtensionPanel

Geeft een paneel weer dat is gemaakt door een extensie.

Eigenschappen

  • verborgen

    Event<functionvoidvoid>

    Wordt geactiveerd wanneer de gebruiker het paneel verlaat.

    De functie onHidden.addListener ziet er als volgt uit:

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

    • terugbelverzoek

      functie

      De callback parameter ziet er als volgt uit:

      () => void

  • onZoeken

    Event<functionvoidvoid>

    Wordt geactiveerd bij een zoekopdracht (start van een nieuwe zoekopdracht, navigatie door zoekresultaten of annulering van een zoekopdracht).

    De functie onSearch.addListener ziet er als volgt uit:

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

    • terugbelverzoek

      functie

      De callback parameter ziet er als volgt uit:

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

      • actie

        snaar

      • queryString

        string optioneel

  • getoond

    Event<functionvoidvoid>

    Wordt geactiveerd wanneer de gebruiker naar het paneel overschakelt.

    De functie onShown.addListener ziet er als volgt uit:

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

    • terugbelverzoek

      functie

      De callback parameter ziet er als volgt uit:

      (window: Window) => void

      • raam

        Raam

  • createStatusBarButton

    leegte

    Voegt een knop toe aan de statusbalk van het paneel.

    De functie createStatusBarButton ziet er als volgt uit:

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

    • pictogramPad

      snaar

      Pad naar het pictogram van de knop. Het bestand moet een afbeelding van 64x24 pixels bevatten, bestaande uit twee pictogrammen van 32x24 pixels. Het linker pictogram wordt weergegeven wanneer de knop inactief is; het rechter pictogram wordt weergegeven wanneer de knop is ingedrukt.

    • tooltipTekst

      snaar

      De tekst die als tooltip verschijnt wanneer de gebruiker de muis over de knop beweegt.

    • gehandicapt

      booleaans

      Of de knop is uitgeschakeld.

  • show

    leegte

    Chrome 140+

    Het paneel wordt weergegeven door het bijbehorende tabblad te activeren.

    De show ziet er als volgt uit:

    () => {...}

ExtensionSidebarPane

Een zijbalk die door de extensie is aangemaakt.

Eigenschappen

  • verborgen

    Event<functionvoidvoid>

    Deze gebeurtenis wordt geactiveerd wanneer het zijbalkvenster verborgen raakt doordat de gebruiker overschakelt naar een ander paneel waarin het zijbalkvenster zich bevindt.

    De functie onHidden.addListener ziet er als volgt uit:

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

    • terugbelverzoek

      functie

      De callback parameter ziet er als volgt uit:

      () => void

  • getoond

    Event<functionvoidvoid>

    Deze gebeurtenis wordt geactiveerd wanneer het zijbalkvenster zichtbaar wordt doordat de gebruiker overschakelt naar het paneel waarin het zich bevindt.

    De functie onShown.addListener ziet er als volgt uit:

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

    • terugbelverzoek

      functie

      De callback parameter ziet er als volgt uit:

      (window: Window) => void

      • raam

        Raam

  • setExpression

    leegte

    Belofte

    Hiermee wordt een expressie ingesteld die binnen de geïnspecteerde pagina wordt geëvalueerd. Het resultaat wordt weergegeven in het zijpaneel.

    De functie setExpression ziet er als volgt uit:

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

    • uitdrukking

      snaar

      Een expressie die moet worden geëvalueerd in de context van de geïnspecteerde pagina. JavaScript-objecten en DOM-nodes worden weergegeven in een uitklapbare boomstructuur, vergelijkbaar met de console/watch.

    • rootTitle

      string optioneel

      Een optionele titel voor de wortel van de expressieboom.

    • terugbelverzoek

      functie optioneel

      De callback parameter ziet er als volgt uit:

      () => void

    • retourneert

      Promise<void>

      In behandeling

      Een callbackfunctie die wordt aangeroepen nadat het zijpaneel is bijgewerkt met de resultaten van de expressie-evaluatie.

      Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.

  • setHeight

    leegte

    Hiermee wordt de hoogte van de zijbalk ingesteld.

    De functie setHeight ziet er als volgt uit:

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

    • hoogte

      snaar

      Een CSS-achtige afmetingsspecificatie, zoals '100px' of '12ex' .

  • setObject

    leegte

    Belofte

    Hiermee wordt een JSON-compatibel object ingesteld dat in het zijpaneel moet worden weergegeven.

    De functie setObject ziet er als volgt uit:

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

    • jsonObject

      snaar

      Een object dat moet worden weergegeven in de context van de geïnspecteerde pagina. De evaluatie vindt plaats in de context van de aanroeper (API-client).

    • rootTitle

      string optioneel

      Een optionele titel voor de wortel van de expressieboom.

    • terugbelverzoek

      functie optioneel

      De callback parameter ziet er als volgt uit:

      () => void

    • retourneert

      Promise<void>

      In behandeling

      Een callback die wordt aangeroepen nadat de zijbalk is bijgewerkt met het object.

      Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.

  • setPage

    leegte

    Hiermee wordt een HTML-pagina ingesteld die in het zijpaneel moet worden weergegeven.

    De setPage functie ziet er als volgt uit:

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

    • pad

      snaar

      Relatief pad van een extensiepagina die in de zijbalk moet worden weergegeven.

SourcesPanel

Dit vertegenwoordigt het paneel 'Bronnen'.

Eigenschappen

  • bijSelectieGewijzigd

    Event<functionvoidvoid>

    Wordt geactiveerd wanneer een object in het paneel wordt geselecteerd.

    De functie onSelectionChanged.addListener ziet er als volgt uit:

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

    • terugbelverzoek

      functie

      De callback parameter ziet er als volgt uit:

      () => void

  • createSidebarPane

    leegte

    Belofte

    Hiermee wordt een venster in de zijbalk van het paneel gemaakt.

    De functie createSidebarPane ziet er als volgt uit:

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

    • titel

      snaar

      Tekst die wordt weergegeven in de zijbalk.

    • terugbelverzoek

      functie optioneel

      De callback parameter ziet er als volgt uit:

      (result: ExtensionSidebarPane) => void

    • retourneert
      In behandeling

      Een callback die wordt aangeroepen wanneer de zijbalk wordt aangemaakt.

      Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.

Theme

Chrome 99+

Thema gebruikt door DevTools.

Enum

"standaard"
Standaard DevTools-thema. Dit is altijd het lichte thema.

"donker"
Donker thema.

Eigenschappen

elements

Elementenpaneel.

sources

Bronnenpaneel.

themeName

Chrome 59+

De naam van het kleurenthema dat is ingesteld in de DevTools-instellingen van de gebruiker. Mogelijke waarden: default (de standaard) en dark .

Type

snaar

Methoden

create()

Belofte
chrome.devtools.panels.create(
  title: string,
  iconPath: string,
  pagePath: string,
  callback?: function,
)
: Promise<ExtensionPanel>

Hiermee wordt een uitbreidingspaneel aangemaakt.

Parameters

  • titel

    snaar

    De titel die naast het extensiepictogram in de werkbalk van de ontwikkelaarstools wordt weergegeven.

  • pictogramPad

    snaar

    Het pad van het paneelpictogram ten opzichte van de extensiemap.

  • paginapad

    snaar

    Het pad van de HTML-pagina van het paneel, relatief ten opzichte van de extensiemap.

  • terugbelverzoek

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (panel: ExtensionPanel) => void

    • Een ExtensionPanel-object dat het aangemaakte paneel vertegenwoordigt.

Retourneert

  • Promise< ExtensionPanel >

    In behandeling

    Een functie die wordt aangeroepen wanneer het paneel wordt aangemaakt.

    Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.

openResource()

Belofte
chrome.devtools.panels.openResource(
  url: string,
  lineNumber: number,
  columnNumber?: number,
  callback?: function,
)
: Promise<void>

Verzoek aan DevTools om een ​​URL te openen in een ontwikkelaarstools-paneel.

Parameters

  • URL

    snaar

    De URL van de te openen bron.

  • regelnummer

    nummer

    Hiermee wordt het regelnummer opgegeven waarnaar gescrold moet worden wanneer de bron wordt geladen.

  • kolomnummer

    nummer optioneel

    Chrome 114+

    Hiermee wordt het kolomnummer opgegeven waarnaar gescrold moet worden bij het laden van de bron.

  • terugbelverzoek

    functie optioneel

    De callback parameter ziet er als volgt uit:

    () => void

Retourneert

  • Promise<void>

    In behandeling

    Een functie die wordt aangeroepen wanneer de bron succesvol is geladen.

    Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.

setOpenResourceHandler()

chrome.devtools.panels.setOpenResourceHandler(
  callback?: function,
)
: void

Hiermee wordt de functie gespecificeerd die moet worden aangeroepen wanneer de gebruiker op een link in het venster Ontwikkelaarstools klikt. Om de handler uit te schakelen, roept u de methode aan zonder parameters of geeft u null als parameter door.

Parameters

  • terugbelverzoek

    functie optioneel

    De callback parameter ziet er als volgt uit:

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

setThemeChangeHandler()

Chrome 99+
chrome.devtools.panels.setThemeChangeHandler(
  callback?: function,
)
: void

Hiermee wordt de functie gespecificeerd die moet worden aangeroepen wanneer het huidige thema in DevTools verandert. Om de handler uit te schakelen, roept u de methode aan zonder parameters of geeft u null als parameter door.

Parameters

  • terugbelverzoek

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (theme: Theme) => void

    • thema

      Huidig ​​thema in DevTools.