chrome.devtools.panels

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

Para usar esta API, se deben declarar las siguientes claves en el manifiesto.

"devtools_page"

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:

Panel de íconos de extensiones en la barra de herramientas de DevTools
Panel de íconos de extensiones en la barra de herramientas de DevTools.

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

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.

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

Propiedades

elements

Panel de elementos.

sources

Panel de fuentes.

themeName

Chrome 59 y versiones posteriores

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

    • 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 posteriores

    Especifica 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