Descripción
Usa la API de chrome.devtools.panels
para integrar tu extensión en la IU de la ventana de Herramientas para desarrolladores: crea tus propios paneles, accede a paneles existentes y agrega barras laterales.
Cada panel y barra lateral de la extensión se muestra como una página HTML independiente. Todas las páginas de extensiones que se muestran en la ventana Herramientas para desarrolladores tienen acceso a todas las partes de la API de chrome.devtools
, así como a todas las demás APIs de extensiones.
Puedes usar el método devtools.panels.setOpenResourceHandler
para instalar una función de devolución de llamada que controle las solicitudes del usuario para abrir un recurso (por lo general, hacer clic en un vínculo de recurso en la ventana de herramientas para desarrolladores). Se llama a un máximo de uno de los controladores instalados. Los usuarios pueden especificar (mediante el diálogo de configuración de Herramientas para desarrolladores) el comportamiento predeterminado o una extensión para controlar las solicitudes abiertas de recursos. Si una extensión llama a setOpenResourceHandler()
varias veces, solo se retiene el último controlador.
Consulta el Resumen de las APIs de DevTools para obtener una introducción general al uso de las APIs de DevTools.
Manifiesto
Ejemplo
El siguiente código agrega un panel contenido en Panel.html
, representado por FontPicker.png
en la barra de herramientas de herramientas para desarrolladores y etiquetado como Selector de fuentes:
chrome.devtools.panels.create("Font Picker",
"FontPicker.png",
"Panel.html",
function(panel) { ... });
El siguiente código agrega un panel lateral contenido en Sidebar.html
y titulado Font Properties al panel Elements y, luego, establece su altura en 8ex
:
chrome.devtools.panels.elements.createSidebarPane("Font Properties",
function(sidebar) {
sidebar.setPage("Sidebar.html");
sidebar.setHeight("8ex");
}
);
En la captura de pantalla, se ilustra el efecto que tendría este ejemplo en la ventana de Herramientas para desarrolladores:
Para probar esta API, instala el ejemplo de la API de paneles de DevTools desde el repositorio chrome-extension-samples.
Tipos
Button
Es un botón creado por la extensión.
Propiedades
-
onClicked
Event<functionvoidvoid>
Se activa cuando se hace clic en el botón.
La función
onClicked.addListener
se ve de la siguiente manera:(callback: function) => {...}
-
callback
función
El parámetro
callback
se ve de la siguiente manera:() => void
-
-
update
void
Actualiza los atributos del botón. Si se omiten algunos de los argumentos o se usa
null
, no se actualizan los atributos correspondientes.La función
update
se ve de la siguiente manera:(iconPath?: string, tooltipText?: string, disabled?: boolean) => {...}
-
iconPath
cadena opcional
Es la ruta de acceso al nuevo ícono del botón.
-
tooltipText
cadena opcional
Es el texto que se muestra como información sobre la herramienta cuando el usuario coloca el mouse sobre el botón.
-
inhabilitado
booleano opcional
Indica si el botón está inhabilitado.
-
ElementsPanel
Representa el panel Elementos.
Propiedades
-
onSelectionChanged
Event<functionvoidvoid>
Se activa cuando se selecciona un objeto en el panel.
La función
onSelectionChanged.addListener
se ve de la siguiente manera:(callback: function) => {...}
-
callback
función
El parámetro
callback
se ve de la siguiente manera:() => void
-
-
createSidebarPane
void
Crea un panel dentro de la barra lateral del panel.
La función
createSidebarPane
se ve de la siguiente manera:(title: string, callback?: function) => {...}
-
título
string
Es el texto que se muestra en la leyenda de la barra lateral.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(result: ExtensionSidebarPane) => void
-
resultado
Un objeto ExtensionSidebarPane para el panel lateral creado.
-
-
ExtensionPanel
Representa un panel creado por una extensión.
Propiedades
-
onHidden
Event<functionvoidvoid>
Se activa cuando el usuario sale del panel.
La función
onHidden.addListener
se ve de la siguiente manera:(callback: function) => {...}
-
callback
función
El parámetro
callback
se ve de la siguiente manera:() => void
-
-
onSearch
Event<functionvoidvoid>
Se activa cuando se realiza una acción de búsqueda (inicio de una búsqueda nueva, navegación por los resultados de la búsqueda o cancelación de la búsqueda).
La función
onSearch.addListener
se ve de la siguiente manera:(callback: function) => {...}
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(action: string, queryString?: string) => void
-
acción
string
-
queryString
cadena opcional
-
-
-
onShown
Event<functionvoidvoid>
Se activa cuando el usuario cambia al panel.
La función
onShown.addListener
se ve de la siguiente manera:(callback: function) => {...}
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(window: Window) => void
-
ventana
Ventana
-
-
-
createStatusBarButton
void
Agrega un botón a la barra de estado del panel.
La función
createStatusBarButton
se ve de la siguiente manera:(iconPath: string, tooltipText: string, disabled: boolean) => {...}
-
iconPath
string
Es la ruta de acceso al ícono del botón. El archivo debe contener una imagen de 64 × 24 píxeles compuesta por dos íconos de 32 × 24. El ícono de la izquierda se usa cuando el botón está inactivo; el ícono de la derecha se muestra cuando se presiona el botón.
-
tooltipText
string
Es el texto que se muestra como información sobre la herramienta cuando el usuario coloca el mouse sobre el botón.
-
inhabilitado
booleano
Indica si el botón está inhabilitado.
-
muestra
-
ExtensionSidebarPane
Una barra lateral creada por la extensión.
Propiedades
-
onHidden
Event<functionvoidvoid>
Se activa cuando el panel lateral se oculta como resultado de que el usuario sale del panel que aloja el panel lateral.
La función
onHidden.addListener
se ve de la siguiente manera:(callback: function) => {...}
-
callback
función
El parámetro
callback
se ve de la siguiente manera:() => void
-
-
onShown
Event<functionvoidvoid>
Se activa cuando el panel de la barra lateral se vuelve visible como resultado de que el usuario cambia al panel que lo aloja.
La función
onShown.addListener
se ve de la siguiente manera:(callback: function) => {...}
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(window: Window) => void
-
ventana
Ventana
-
-
-
setExpression
void
Establece una expresión que se evalúa dentro de la página inspeccionada. El resultado se muestra en el panel lateral.
La función
setExpression
se ve de la siguiente manera:(expression: string, rootTitle?: string, callback?: function) => {...}
-
expresión
string
Es una expresión que se evaluará en el contexto de la página inspeccionada. Los objetos JavaScript y los nodos DOM se muestran en un árbol expandible similar a la consola o al monitor.
-
rootTitle
cadena opcional
Un título opcional para la raíz del árbol de expresiones.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
-
-
setHeight
void
Establece la altura de la barra lateral.
La función
setHeight
se ve de la siguiente manera:(height: string) => {...}
-
alto
string
Una especificación de tamaño similar a CSS, como
'100px'
o'12ex'
.
-
-
setObject
void
Establece un objeto compatible con JSON para que se muestre en el panel lateral.
La función
setObject
se ve de la siguiente manera:(jsonObject: string, rootTitle?: string, callback?: function) => {...}
-
jsonObject
string
Es un objeto que se mostrará en el contexto de la página inspeccionada. Se evalúa en el contexto del llamador (cliente de la API).
-
rootTitle
cadena opcional
Un título opcional para la raíz del árbol de expresiones.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
-
-
setPage
void
Establece una página HTML para que se muestre en el panel de la barra lateral.
La función
setPage
se ve de la siguiente manera:(path: string) => {...}
-
ruta de acceso
string
Es la ruta de acceso relativa de una página de extensión que se mostrará en la barra lateral.
-
SourcesPanel
Representa el panel Fuentes.
Propiedades
-
onSelectionChanged
Event<functionvoidvoid>
Se activa cuando se selecciona un objeto en el panel.
La función
onSelectionChanged.addListener
se ve de la siguiente manera:(callback: function) => {...}
-
callback
función
El parámetro
callback
se ve de la siguiente manera:() => void
-
-
createSidebarPane
void
Crea un panel dentro de la barra lateral del panel.
La función
createSidebarPane
se ve de la siguiente manera:(title: string, callback?: function) => {...}
-
título
string
Es el texto que se muestra en la leyenda de la barra lateral.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(result: ExtensionSidebarPane) => void
-
resultado
Un objeto ExtensionSidebarPane para el panel lateral creado.
-
-
Propiedades
elements
Panel de elementos.
Tipo
sources
Panel de fuentes.
Tipo
themeName
Es el nombre del tema de color establecido en la configuración de DevTools del usuario. Valores posibles: default
(el predeterminado) y dark
.
Tipo
string
Métodos
create()
chrome.devtools.panels.create(
title: string,
iconPath: string,
pagePath: string,
callback?: function,
)
Crea un panel de extensión.
Parámetros
-
título
string
Es el título que se muestra junto al ícono de la extensión en la barra de herramientas de Herramientas para desarrolladores.
-
iconPath
string
Es la ruta de acceso del ícono del panel en relación con el directorio de la extensión.
-
pagePath
string
Es la ruta de acceso de la página HTML del panel en relación con el directorio de la extensión.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(panel: ExtensionPanel) => void
-
panel
Un objeto ExtensionPanel que representa el panel creado.
-
openResource()
chrome.devtools.panels.openResource(
url: string,
lineNumber: number,
columnNumber?: number,
callback?: function,
)
Le solicita a DevTools que abra una URL en un panel de Herramientas para desarrolladores.
Parámetros
-
url
string
Es la URL del recurso que se abrirá.
-
lineNumber
número
Especifica el número de línea al que se debe desplazar cuando se carga el recurso.
-
columnNumber
número opcional
Chrome 114 y versiones posterioresEspecifica el número de columna al que se debe desplazar cuando se carga el recurso.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
setOpenResourceHandler()
chrome.devtools.panels.setOpenResourceHandler(
callback?: function,
)
Especifica la función a la que se llamará cuando el usuario haga clic en un vínculo de recurso en la ventana de herramientas para desarrolladores. Para restablecer el controlador, llama al método sin parámetros o pasa nulo como parámetro.
Parámetros
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(resource: Resource) => void
-
recurso
Un objeto
devtools.inspectedWindow.Resource
para el recurso en el que se hizo clic.
-