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:

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.addListenerziet er als volgt uit:(callback: function) => {...}
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:() => void
- update
leegte
Werkt de eigenschappen van de knop bij. Als sommige argumenten ontbreken of
nullzijn, worden de bijbehorende eigenschappen niet bijgewerkt.De
updateziet 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.addListenerziet er als volgt uit:(callback: function) => {...}
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:() => void
- createSidebarPane
leegte
BelofteHiermee wordt een venster in de zijbalk van het paneel gemaakt.
De functie
createSidebarPaneziet er als volgt uit:(title: string, callback?: function) => {...}
- titel
snaar
Tekst die wordt weergegeven in de zijbalk.
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(result: ExtensionSidebarPane) => void
- resultaat
Een ExtensionSidebarPane-object voor het aangemaakte zijpaneel.
- retourneert
Promise< ExtensionSidebarPane >
In behandelingEen 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.addListenerziet er als volgt uit:(callback: function) => {...}
- terugbelverzoek
functie
De
callbackparameter 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.addListenerziet er als volgt uit:(callback: function) => {...}
- terugbelverzoek
functie
De
callbackparameter 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.addListenerziet er als volgt uit:(callback: function) => {...}
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(window: Window) => void
- raam
Raam
- createStatusBarButton
leegte
Voegt een knop toe aan de statusbalk van het paneel.
De functie
createStatusBarButtonziet 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.
- retourneert
- show
leegte
Chrome 140+Het paneel wordt weergegeven door het bijbehorende tabblad te activeren.
De
showziet 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.addListenerziet er als volgt uit:(callback: function) => {...}
- terugbelverzoek
functie
De
callbackparameter 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.addListenerziet er als volgt uit:(callback: function) => {...}
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(window: Window) => void
- raam
Raam
- setExpression
leegte
BelofteHiermee wordt een expressie ingesteld die binnen de geïnspecteerde pagina wordt geëvalueerd. Het resultaat wordt weergegeven in het zijpaneel.
De functie
setExpressionziet 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
callbackparameter ziet er als volgt uit:() => void
- retourneert
Promise<void>
In behandelingEen 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
setHeightziet er als volgt uit:(height: string) => {...}
- hoogte
snaar
Een CSS-achtige afmetingsspecificatie, zoals
'100px'of'12ex'.
- setObject
leegte
BelofteHiermee wordt een JSON-compatibel object ingesteld dat in het zijpaneel moet worden weergegeven.
De functie
setObjectziet 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
callbackparameter ziet er als volgt uit:() => void
- retourneert
Promise<void>
In behandelingEen 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
setPagefunctie 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.addListenerziet er als volgt uit:(callback: function) => {...}
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:() => void
- createSidebarPane
leegte
BelofteHiermee wordt een venster in de zijbalk van het paneel gemaakt.
De functie
createSidebarPaneziet er als volgt uit:(title: string, callback?: function) => {...}
- titel
snaar
Tekst die wordt weergegeven in de zijbalk.
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(result: ExtensionSidebarPane) => void
- resultaat
Een ExtensionSidebarPane-object voor het aangemaakte zijpaneel.
- retourneert
Promise< ExtensionSidebarPane >
In behandelingEen 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
Thema gebruikt door DevTools.
Enum
"standaard" "donker"
Standaard DevTools-thema. Dit is altijd het lichte thema.
Donker thema.
Eigenschappen
elements
Elementenpaneel.
Type
sources
Bronnenpaneel.
Type
themeName
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()
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
callbackparameter ziet er als volgt uit:(panel: ExtensionPanel) => void
- paneel
Een ExtensionPanel-object dat het aangemaakte paneel vertegenwoordigt.
Retourneert
Promise< ExtensionPanel >
In behandelingEen 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()
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
callbackparameter ziet er als volgt uit:() => void
Retourneert
Promise<void>
In behandelingEen 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
callbackparameter ziet er als volgt uit:(resource: Resource, lineNumber: number) => void
- bron
Een
devtools.inspectedWindow.Resource-object voor de bron waarop is geklikt. - regelnummer
nummer
Geeft het regelnummer aan binnen de bron waarop is geklikt.
setThemeChangeHandler()
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.