Opis
Użyj interfejsu chrome.devtools.panels
API, aby zintegrować rozszerzenie z interfejsem okna Narzędzi deweloperskich: twórz własne panele, uzyskuj dostęp do istniejących paneli i dodawaj paski boczne.
Każdy panel rozszerzenia i pasek boczny jest wyświetlany jako osobna strona HTML. Wszystkie strony rozszerzeń wyświetlane w oknie narzędzi dla deweloperów mają dostęp do wszystkich części interfejsu chrome.devtools
API, a także do wszystkich innych interfejsów API rozszerzeń.
Możesz użyć metody devtools.panels.setOpenResourceHandler
, aby zainstalować funkcję wywołania zwrotnego, która obsługuje prośby użytkowników o otwarcie zasobu (zwykle kliknięcie linku do zasobu w oknie Narzędzi dla programistów). Wywoływany jest co najwyżej jeden z zainstalowanych programów obsługi. Użytkownicy mogą określić (w oknie dialogowym Ustawienia narzędzi deweloperskich) domyślne działanie lub rozszerzenie do obsługi żądań otwarcia zasobu. Jeśli rozszerzenie wywoła funkcję setOpenResourceHandler()
wiele razy, zachowany zostanie tylko ostatni moduł obsługi.
Ogólne wprowadzenie do korzystania z interfejsów API Narzędzi znajdziesz w podsumowaniu interfejsów API Narzędzi.
Plik manifestu
Aby korzystać z tego interfejsu API, musisz zadeklarować te klucze w pliku manifestu.
"devtools_page"
Przykład
Ten kod dodaje panel zawarty w Panel.html
, reprezentowany przez FontPicker.png
na pasku narzędzi Narzędzia dla programistów i oznaczony jako Selektor czcionek:
chrome.devtools.panels.create("Font Picker", "FontPicker.png", "Panel.html", function(panel) { ... });
Poniższy kod dodaje do panelu Elementy panel boczny zawarty w Sidebar.html
i zatytułowany Właściwości czcionki, a następnie ustawia jego wysokość na 8ex
:
chrome.devtools.panels.elements.createSidebarPane("Font Properties", function(sidebar) { sidebar.setPage("Sidebar.html"); sidebar.setHeight("8ex"); } );
Zrzut ekranu pokazuje, jaki wpływ miałby ten przykład na okno Narzędzi deweloperskich:

Aby wypróbować ten interfejs API, zainstaluj przykład interfejsu API paneli narzędzi deweloperskich z repozytorium chrome-extension-samples.
Typy
Button
Przycisk utworzony przez rozszerzenie.
Właściwości
- onClicked
Event<functionvoidvoid>
Uruchamiane po kliknięciu przycisku.
Funkcja
onClicked.addListener
wygląda tak:(callback: function) => {...}
- callback
funkcja
Parametr
callback
wygląda tak:() => void
-
- update
pusty
Aktualizuje atrybuty przycisku. Jeśli niektóre argumenty zostaną pominięte lub będą miały wartość
null
, odpowiednie atrybuty nie zostaną zaktualizowane.Funkcja
update
wygląda tak:(iconPath?: string, tooltipText?: string, disabled?: boolean) => {...}
- iconPath
string opcjonalny
Ścieżka do nowej ikony przycisku.
- tooltipText
string opcjonalny
Tekst wyświetlany jako etykietka, gdy użytkownik najedzie kursorem na przycisk.
- wyłączono
wartość logiczna opcjonalna
Określa, czy przycisk jest wyłączony.
-
ElementsPanel
Reprezentuje panel Elementy.
Właściwości
- onSelectionChanged
Event<functionvoidvoid>
Wywoływane po wybraniu obiektu w panelu.
Funkcja
onSelectionChanged.addListener
wygląda tak:(callback: function) => {...}
- callback
funkcja
Parametr
callback
wygląda tak:() => void
-
- createSidebarPane
pusty
Tworzy panel na pasku bocznym panelu.
Funkcja
createSidebarPane
wygląda tak:(title: string, callback?: function) => {...}
- tytuł
ciąg znaków
Tekst wyświetlany w podpisie paska bocznego.
- callback
funkcja opcjonalna
Parametr
callback
wygląda tak:(result: ExtensionSidebarPane) => void
- wynik
Obiekt ExtensionSidebarPane utworzonego panelu bocznego.
-
-
ExtensionPanel
Reprezentuje panel utworzony przez rozszerzenie.
Właściwości
- onHidden
Event<functionvoidvoid>
Uruchamiane, gdy użytkownik przełączy się z panelu.
Funkcja
onHidden.addListener
wygląda tak:(callback: function) => {...}
- callback
funkcja
Parametr
callback
wygląda tak:() => void
-
- onSearch
Event<functionvoidvoid>
Wywoływane po działaniu związanym z wyszukiwaniem (rozpoczęciu nowego wyszukiwania, przejściu do wyniku wyszukiwania lub anulowaniu wyszukiwania).
Funkcja
onSearch.addListener
wygląda tak:(callback: function) => {...}
- callback
funkcja
Parametr
callback
wygląda tak:(action: string, queryString?: string) => void
- działanie
ciąg znaków
- queryString
string opcjonalny
-
-
- onShown
Event<functionvoidvoid>
Uruchamiane, gdy użytkownik przełączy się na panel.
Funkcja
onShown.addListener
wygląda tak:(callback: function) => {...}
- callback
funkcja
Parametr
callback
wygląda tak:(window: Window) => void
- okno
Okno
-
-
- createStatusBarButton
pusty
Dołącza przycisk do paska stanu panelu.
Funkcja
createStatusBarButton
wygląda tak:(iconPath: string, tooltipText: string, disabled: boolean) => {...}
- iconPath
ciąg znaków
Ścieżka do ikony przycisku. Plik powinien zawierać obraz o rozmiarze 64 x 24 piksele składający się z 2 ikon o rozmiarze 32 x 24 piksele. Lewa ikona jest używana, gdy przycisk jest nieaktywny, a prawa – gdy jest naciśnięty.
- tooltipText
ciąg znaków
Tekst wyświetlany jako etykietka, gdy użytkownik najedzie kursorem na przycisk.
- wyłączono
Wartość logiczna
Określa, czy przycisk jest wyłączony.
- returns
-
- pokaż
pusty
OczekujeWyświetla panel, aktywując odpowiednią kartę.
Funkcja
show
wygląda tak:() => {...}
ExtensionSidebarPane
Pasek boczny utworzony przez rozszerzenie.
Właściwości
- onHidden
Event<functionvoidvoid>
Uruchamiane, gdy panel boczny zostanie ukryty w wyniku przełączenia się użytkownika z panelu, w którym jest on hostowany.
Funkcja
onHidden.addListener
wygląda tak:(callback: function) => {...}
- callback
funkcja
Parametr
callback
wygląda tak:() => void
-
- onShown
Event<functionvoidvoid>
Uruchamiane, gdy panel boczny staje się widoczny w wyniku przełączenia się użytkownika na panel, w którym się znajduje.
Funkcja
onShown.addListener
wygląda tak:(callback: function) => {...}
- callback
funkcja
Parametr
callback
wygląda tak:(window: Window) => void
- okno
Okno
-
-
- setExpression
pusty
Ustawia wyrażenie, które jest oceniane na sprawdzanej stronie. Wynik zostanie wyświetlony w panelu bocznym.
Funkcja
setExpression
wygląda tak:(expression: string, rootTitle?: string, callback?: function) => {...}
- wyrażenie
ciąg znaków
Wyrażenie do oceny w kontekście sprawdzanej strony. Obiekty JavaScript i węzły DOM są wyświetlane w rozwijanym drzewie podobnym do konsoli lub okna obserwacji.
- rootTitle
string opcjonalny
Opcjonalny tytuł korzenia drzewa wyrażeń.
- callback
funkcja opcjonalna
Parametr
callback
wygląda tak:() => void
-
- setHeight
pusty
Ustawia wysokość paska bocznego.
Funkcja
setHeight
wygląda tak:(height: string) => {...}
- wysokość
ciąg znaków
Specyfikacja rozmiaru w stylu CSS, np.
'100px'
lub'12ex'
.
-
- setObject
pusty
Ustawia obiekt zgodny z JSON, który ma być wyświetlany w panelu bocznym.
Funkcja
setObject
wygląda tak:(jsonObject: string, rootTitle?: string, callback?: function) => {...}
- jsonObject
ciąg znaków
Obiekt do wyświetlenia w kontekście sprawdzanej strony. Ocena w kontekście wywołującego (klienta interfejsu API).
- rootTitle
string opcjonalny
Opcjonalny tytuł korzenia drzewa wyrażeń.
- callback
funkcja opcjonalna
Parametr
callback
wygląda tak:() => void
-
- setPage
pusty
Ustawia stronę HTML, która ma być wyświetlana w panelu bocznym.
Funkcja
setPage
wygląda tak:(path: string) => {...}
- ścieżka
ciąg znaków
Ścieżka względna strony rozszerzenia, która ma być wyświetlana na pasku bocznym.
-
SourcesPanel
Reprezentuje panel Źródła.
Właściwości
- onSelectionChanged
Event<functionvoidvoid>
Wywoływane po wybraniu obiektu w panelu.
Funkcja
onSelectionChanged.addListener
wygląda tak:(callback: function) => {...}
- callback
funkcja
Parametr
callback
wygląda tak:() => void
-
- createSidebarPane
pusty
Tworzy panel na pasku bocznym panelu.
Funkcja
createSidebarPane
wygląda tak:(title: string, callback?: function) => {...}
- tytuł
ciąg znaków
Tekst wyświetlany w podpisie paska bocznego.
- callback
funkcja opcjonalna
Parametr
callback
wygląda tak:(result: ExtensionSidebarPane) => void
- wynik
Obiekt ExtensionSidebarPane utworzonego panelu bocznego.
-
-
Właściwości
elements
Panel Elementy.
Typ
sources
Panel Źródła.
Typ
themeName
Nazwa motywu kolorystycznego ustawionego w ustawieniach Narzędzi deweloperskich użytkownika. Możliwe wartości: default
(wartość domyślna) i dark
.
Typ
ciąg znaków
Metody
create()
chrome.devtools.panels.create(
title: string,
iconPath: string,
pagePath: string,
callback?: function,
): void
Tworzy panel rozszerzenia.
Parametry
- tytuł
ciąg znaków
Tytuł wyświetlany obok ikony rozszerzenia na pasku narzędzi Narzędzi dla programistów.
- iconPath
ciąg znaków
Ścieżka ikony panelu względem katalogu rozszerzenia.
- pagePath
ciąg znaków
Ścieżka do strony HTML panelu względem katalogu rozszerzenia.
- callback
funkcja opcjonalna
Parametr
callback
wygląda tak:(panel: ExtensionPanel) => void
- panel
Obiekt ExtensionPanel reprezentujący utworzony panel.
-
openResource()
chrome.devtools.panels.openResource(
url: string,
lineNumber: number,
columnNumber?: number,
callback?: function,
): void
Wysyła do Narzędzi deweloperskich żądanie otwarcia adresu URL w panelu Narzędzi deweloperskich.
Parametry
- URL
ciąg znaków
Adres URL zasobu do otwarcia.
- lineNumber
liczba
Określa numer wiersza, do którego należy przewinąć po załadowaniu zasobu.
- columnNumber
number opcjonalny
Chrome 114 lub nowszaOkreśla numer kolumny, do której należy przewinąć po wczytaniu zasobu.
- callback
funkcja opcjonalna
Parametr
callback
wygląda tak:() => void
setOpenResourceHandler()
chrome.devtools.panels.setOpenResourceHandler(
callback?: function,
): void
Określa funkcję, która ma być wywoływana, gdy użytkownik kliknie link do zasobu w oknie Narzędzia dla deweloperów. Aby cofnąć ustawienie procedury obsługi, wywołaj metodę bez parametrów lub przekaż wartość null jako parametr.
Parametry
- callback
funkcja opcjonalna
Parametr
callback
wygląda tak:(resource: Resource, lineNumber: number) => void
- zasób
Obiekt
devtools.inspectedWindow.Resource
klikniętego zasobu. - lineNumber
liczba
Określa numer wiersza w klikniętym zasobie.
-