chrome.webNavigation

Descripción

Usa la API de chrome.webNavigation para recibir notificaciones sobre el estado de las solicitudes de navegación en tránsito.

Permisos

webNavigation

Todos los métodos y eventos chrome.webNavigation requieren que declares el permiso "webNavigation" en el manifiesto de extensión. Por ejemplo:

{
  "name": "My extension",
  ...
  "permissions": [
    "webNavigation"
  ],
  ...
}

Conceptos y uso

Orden del evento

Para que la navegación se complete correctamente, los eventos se activan en el siguiente orden:

onBeforeNavigate -> onCommitted -> [onDOMContentLoaded] -> onCompleted

Cualquier error que ocurra durante el proceso dará como resultado un evento onErrorOccurred. Para una navegación específica, no se activan más eventos después de onErrorOccurred.

Si un marco de navegación contiene submarcos, su onCommitted se activa antes que cualquiera de los onBeforeNavigate de sus elementos secundarios, mientras que onCompleted se activa después de todos los onCompleted de sus elementos secundarios.

Si se cambia el fragmento de referencia de un fotograma, se activa un evento onReferenceFragmentUpdated. Este evento puede activarse en cualquier momento después del onDOMContentLoaded, incluso después de onCompleted.

Si se usa la API de History para modificar el estado de un fotograma (p.ej., con history.pushState(), se activa un evento onHistoryStateUpdated. Este evento se puede activar en cualquier momento después del onDOMContentLoaded.

Si una navegación restableció una página desde la Memoria caché atrás hacia adelante, no se activará el evento onDOMContentLoaded. El evento no se activa porque el contenido ya completó la carga cuando se visitó la página por primera vez.

Si se activó una navegación con Chrome Instant o páginas instantáneas, una página completamente cargada se cambia a la pestaña actual. En ese caso, se activa un evento onTabReplaced.

Relación con los eventos de webRequest

No hay un orden definido entre los eventos de la API de webRequest y los eventos de la API de webNavigation. Es posible que aún se reciban eventos de webRequest para los marcos que ya iniciaron una navegación nueva, o que esta navegación solo continúe después de que los recursos de red ya estén completamente cargados.

En general, los eventos de webNavigation están estrechamente relacionados con el estado de navegación que se muestra en la IU, mientras que los eventos de webRequest corresponden al estado de la pila de red que, en general, es opaca para el usuario.

IDs de pestaña

No todas las pestañas de navegación corresponden a pestañas reales en la IU de Chrome, por ejemplo, una pestaña que se está renderizando previamente. No se puede acceder a esas pestañas con la API de pestañas ni puedes solicitar información sobre ellas llamando a webNavigation.getFrame() o webNavigation.getAllFrames(). Una vez que se intercambia esa pestaña, se activa un evento onTabReplaced y se puede acceder a ellas a través de estas APIs.

Marcas de tiempo

Es importante tener en cuenta que algunas particularidades técnicas en el manejo que hace el SO de diferentes procesos de Chrome pueden provocar que la hora entre el navegador y los procesos de la extensión sea diferente. Eso significa que solo se garantiza que la propiedad timeStamp de la propiedad timeStamp del evento WebNavigation tenga coherencia interna. Si comparas un evento con otro, obtendrás el desplazamiento correcto entre ellos, pero compararlos con la hora actual dentro de la extensión (por ejemplo, con (new Date()).getTime()) puede generar resultados inesperados.

IDs de marco

Los marcos dentro de una pestaña se pueden identificar con un ID de fotograma. El ID del marco principal es siempre 0 y el ID de los marcos secundarios es un número positivo. Una vez que se crea un documento en un fotograma, su ID de marco permanece constante durante la vida útil del documento. A partir de Chrome 49, este ID también es constante durante la vida útil del fotograma (en varias navegaciones).

Debido a la naturaleza de varios procesos de Chrome, una pestaña puede usar diferentes procesos para renderizar el origen y el destino de una página web. Por lo tanto, si la navegación se lleva a cabo en un proceso nuevo, es posible que recibas eventos de la página nueva y de la antigua hasta que se confirme la navegación nueva (es decir, el evento onCommitted se envía para el nuevo marco principal). En otras palabras, es posible tener más de una secuencia pendiente de eventos webNavigation con el mismo frameId. Las secuencias se pueden distinguir por la clave processId.

Además, ten en cuenta que, durante una carga provisional, el proceso puede cambiar varias veces. Esto sucede cuando se redirecciona la carga a un sitio diferente. En este caso, recibirás eventos onBeforeNavigate y onErrorOccurred repetidos hasta que recibas el evento onCommitted final.

Otro concepto que resulta problemático con las extensiones es el ciclo de vida del marco. Un marco aloja un documento (que está asociado con una URL confirmada). El documento puede cambiar (por ejemplo, navegando), pero frameId, no, por lo que es difícil asociar que ocurrió algo en un documento específico solo con frameIds. Presentamos un concepto de documentId, que es un identificador único por documento. Si se navega por un marco y se abre un documento nuevo, el identificador cambiará. Este campo es útil para determinar cuándo las páginas cambian su estado de ciclo de vida (entre renderización previa/activa/almacenada en caché), ya que se mantiene igual.

Tipos de transición y calificadores

El evento webNavigation onCommitted tiene una propiedad transitionType y una propiedad transitionQualifiers. El tipo de transición es el mismo que se usa en la API de History, que describe la forma en que el navegador navegó a esta URL en particular. Además, se pueden mostrar varios calificadores de transición que definan aún más la navegación.

Existen los siguientes calificadores de transición:

Calificador de transiciónDescripción
"client_redirect"Uno o más redireccionamientos provocados por JavaScript o etiquetas de metaactualización en la página ocurrieron durante la navegación.
"server_redirect"Uno o más redireccionamientos causados por encabezados HTTP enviados desde el servidor ocurrieron durante la navegación.
“forward_back”El usuario utilizó el botón Avanzar o Atrás para iniciar la navegación.
"from_address_bar"El usuario inició la navegación desde la barra de direcciones (o cuadro multifunción).

Ejemplos

Para probar esta API, instala el ejemplo de la API de webNavigation del repositorio chrome-extension-samples.

Tipos

TransitionQualifier

Chrome 44 y versiones posteriores

Enum

"client_redirect"

"server_redirect"

"from_address_bar"

TransitionType

Chrome 44 y versiones posteriores

Causa de la navegación Se utilizan los mismos tipos de transición definidos en la API de History. Estos son los mismos tipos de transición que se definen en la API del historial, excepto por "start_page" en lugar de "auto_toplevel" (para la retrocompatibilidad).

Enum

"auto_bookmark"

"auto_subframe"

"manual_subframe"

"start_page"

"form_submit"

"keyword_generated"

Métodos

getAllFrames()

Promesa
chrome.webNavigation.getAllFrames(
  details: object,
  callback?: function,
)

Recupera información sobre todos los marcos de una pestaña determinada.

Parámetros

  • detalles

    objeto

    Información sobre la pestaña de la que se deben recuperar todos los marcos.

    • tabId

      número

      El ID de la pestaña.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (details?: object[])=>void

    • detalles

      objeto[] opcional

      Lista de marcos en la pestaña determinada, nula si el ID de la pestaña especificado no es válido.

      • documentId

        cadena

        Chrome 106 y versiones posteriores

        Se cargó un UUID del documento.

      • documentLifecycle
        Chrome 106 y versiones posteriores

        El ciclo de vida en el que se encuentra el documento.

      • errorOccurred

        boolean

        Es verdadero si la última navegación de este marco se interrumpió por un error; es decir, si se activó el evento onErrorOccurred.

      • frameId

        número

        El ID del marco. 0 indica que este es el marco principal; un valor positivo indica el ID de un submarco.

      • frameType
        Chrome 106 y versiones posteriores

        Es el tipo de marco en el que ocurrió la navegación.

      • parentDocumentId

        cadena opcional

        Chrome 106 y versiones posteriores

        Un UUID del documento superior que posee este marco. Esto no se establece si no hay un elemento superior.

      • parentFrameId

        número

        Es el ID del marco superior o -1 si es el principal.

      • processId

        número

        Es el ID del proceso que ejecuta el procesador de este fotograma.

      • url

        cadena

        La URL asociada actualmente con este marco.

Devuelve

  • Promise<object[]|undefined>

    Chrome 93 y versiones posteriores

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.

getFrame()

Promesa
chrome.webNavigation.getFrame(
  details: object,
  callback?: function,
)

Recupera información sobre un marco determinado. Un marco hace referencia a un <iframe> o un <frame> de una página web y se identifica mediante un ID de pestaña y un ID de marco.

Parámetros

  • detalles

    objeto

    Información sobre el marco sobre el que se debe recuperar información.

    • documentId

      cadena opcional

      Chrome 106 y versiones posteriores

      Es el UUID del documento. Si se proporcionan los FrameworkId o tabId, se validarán para que coincidan con el documento que se encuentra con el ID de documento proporcionado.

    • frameId

      número opcional

      El ID del marco en la pestaña correspondiente.

    • processId

      número opcional

      Obsoleta a partir de Chrome 49

      Los marcos ahora se identifican de forma exclusiva mediante el ID de pestaña y el ID de marco; el ID de proceso ya no es necesario y, por lo tanto, se ignora.

      Es el ID del proceso que ejecuta el procesador de esta pestaña.

    • tabId

      número opcional

      El ID de la pestaña en la que se encuentra el marco.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (details?: object)=>void

    • detalles

      objeto opcional

      Información sobre el marco solicitado; nulo si el ID de marco especificado o el ID de pestaña no son válidos.

      • documentId

        cadena

        Chrome 106 y versiones posteriores

        Se cargó un UUID del documento.

      • documentLifecycle
        Chrome 106 y versiones posteriores

        El ciclo de vida en el que se encuentra el documento.

      • errorOccurred

        boolean

        Es verdadero si la última navegación de este marco se interrumpió por un error; es decir, si se activó el evento onErrorOccurred.

      • frameType
        Chrome 106 y versiones posteriores

        Es el tipo de marco en el que ocurrió la navegación.

      • parentDocumentId

        cadena opcional

        Chrome 106 y versiones posteriores

        Un UUID del documento superior que posee este marco. Esto no se establece si no hay un elemento superior.

      • parentFrameId

        número

        Es el ID del marco superior o -1 si es el principal.

      • url

        cadena

        Es la URL asociada actualmente con este marco, si este existió en algún punto de la pestaña correspondiente. El hecho de que una URL esté asociada con un marco Id determinado no implica que todavía exista el marco correspondiente.

Devuelve

  • Promise<object|undefined>

    Chrome 93 y versiones posteriores

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.

Eventos

onBeforeNavigate

chrome.webNavigation.onBeforeNavigate.addListener(
  callback: function,
  filters?: object,
)

Se activa cuando una navegación está por ocurrir.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (details: object)=>void

    • detalles

      objeto

      • Chrome 106 y versiones posteriores

        El ciclo de vida en el que se encuentra el documento.

      • frameId

        número

        0 indica que la navegación ocurre en la ventana de contenido de la pestaña; un valor positivo indica la navegación en un submarco. Los IDs de marco son únicos para una pestaña y un proceso determinados.

      • Chrome 106 y versiones posteriores

        Es el tipo de marco en el que ocurrió la navegación.

      • parentDocumentId

        cadena opcional

        Chrome 106 y versiones posteriores

        Un UUID del documento superior que posee este marco. Esto no se establece si no hay un elemento superior.

      • parentFrameId

        número

        Es el ID del marco superior o -1 si es el principal.

      • processId

        número

        Obsoleta a partir de Chrome 50

        El processId ya no se establece para este evento, ya que el proceso que renderizará el documento resultante no se conoce hasta onCommit.

        El valor de -1.

      • tabId

        número

        Es el ID de la pestaña en la que está por ocurrir la navegación.

      • timeStamp

        número

        Tiempo en que el navegador estaba a punto de iniciar la navegación, en milisegundos desde el ciclo de entrenamiento.

      • url

        cadena

  • filtros

    objeto opcional

    • Condiciones que debe cumplir la URL a la que se navega. Los campos 'esquemas' y 'puertos' de UrlFilter se ignoran para este evento.

onCommitted

chrome.webNavigation.onCommitted.addListener(
  callback: function,
  filters?: object,
)

Se activa cuando se confirma una navegación. Es posible que el documento (y los recursos a los que hace referencia, como las imágenes y los submarcos) aún se esté descargando, pero al menos una parte del documento se recibió del servidor y el navegador decidió cambiar al documento nuevo.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (details: object)=>void

    • detalles

      objeto

      • documentId

        cadena

        Chrome 106 y versiones posteriores

        Se cargó un UUID del documento.

      • Chrome 106 y versiones posteriores

        El ciclo de vida en el que se encuentra el documento.

      • frameId

        número

        0 indica que la navegación ocurre en la ventana de contenido de la pestaña; un valor positivo indica la navegación en un submarco. Los IDs de marco son únicos dentro de una pestaña.

      • Chrome 106 y versiones posteriores

        Es el tipo de marco en el que ocurrió la navegación.

      • parentDocumentId

        cadena opcional

        Chrome 106 y versiones posteriores

        Un UUID del documento superior que posee este marco. Esto no se establece si no hay un elemento superior.

      • parentFrameId

        número

        Chrome 74 y versiones posteriores

        Es el ID del marco superior o -1 si es el principal.

      • processId

        número

        Es el ID del proceso que ejecuta el procesador de este fotograma.

      • tabId

        número

        Es el ID de la pestaña en la que se produce la navegación.

      • timeStamp

        número

        Indica el tiempo en milisegundos en el que se confirmó la navegación desde el ciclo de entrenamiento.

      • transitionQualifiers

        Una lista de calificadores de transición.

      • transitionType

        Causa de la navegación

      • url

        cadena

  • filtros

    objeto opcional

    • Condiciones que debe cumplir la URL a la que se navega. Los campos 'esquemas' y 'puertos' de UrlFilter se ignoran para este evento.

onCompleted

chrome.webNavigation.onCompleted.addListener(
  callback: function,
  filters?: object,
)

Se activa cuando un documento, incluidos los recursos a los que hace referencia, se carga e inicializa por completo.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (details: object)=>void

    • detalles

      objeto

      • documentId

        cadena

        Chrome 106 y versiones posteriores

        Se cargó un UUID del documento.

      • Chrome 106 y versiones posteriores

        El ciclo de vida en el que se encuentra el documento.

      • frameId

        número

        0 indica que la navegación ocurre en la ventana de contenido de la pestaña; un valor positivo indica la navegación en un submarco. Los IDs de marco son únicos dentro de una pestaña.

      • Chrome 106 y versiones posteriores

        Es el tipo de marco en el que ocurrió la navegación.

      • parentDocumentId

        cadena opcional

        Chrome 106 y versiones posteriores

        Un UUID del documento superior que posee este marco. Esto no se establece si no hay un elemento superior.

      • parentFrameId

        número

        Chrome 74 y versiones posteriores

        Es el ID del marco superior o -1 si es el principal.

      • processId

        número

        Es el ID del proceso que ejecuta el procesador de este fotograma.

      • tabId

        número

        Es el ID de la pestaña en la que se produce la navegación.

      • timeStamp

        número

        Es el tiempo en que terminó de cargarse el documento, en milisegundos desde el ciclo de entrenamiento.

      • url

        cadena

  • filtros

    objeto opcional

    • Condiciones que debe cumplir la URL a la que se navega. Los campos 'esquemas' y 'puertos' de UrlFilter se ignoran para este evento.

onCreatedNavigationTarget

chrome.webNavigation.onCreatedNavigationTarget.addListener(
  callback: function,
  filters?: object,
)

Se activa cuando se crea una ventana nueva o una pestaña nueva en una ventana existente para alojar una navegación.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (details: object)=>void

    • detalles

      objeto

      • sourceFrameId

        número

        Es el ID del marco con sourceTabId en el que se activa la navegación. 0 indica el marco principal.

      • sourceProcessId

        número

        Es el ID del proceso que ejecuta el procesador del fotograma de origen.

      • sourceTabId

        número

        El ID de la pestaña en la que se activa la navegación

      • tabId

        número

        El ID de la pestaña en la que se abre la URL

      • timeStamp

        número

        Indica el momento en que el navegador estaba a punto de crear una vista nueva, en milisegundos desde el ciclo de entrenamiento.

      • url

        cadena

        La URL que se abrirá en la ventana nueva.

  • filtros

    objeto opcional

    • Condiciones que debe cumplir la URL a la que se navega. Los campos 'esquemas' y 'puertos' de UrlFilter se ignoran para este evento.

onDOMContentLoaded

chrome.webNavigation.onDOMContentLoaded.addListener(
  callback: function,
  filters?: object,
)

Se activa cuando el DOM de la página está completamente construido, pero es posible que los recursos a los que se hace referencia no terminen de cargarse.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (details: object)=>void

    • detalles

      objeto

      • documentId

        cadena

        Chrome 106 y versiones posteriores

        Se cargó un UUID del documento.

      • Chrome 106 y versiones posteriores

        El ciclo de vida en el que se encuentra el documento.

      • frameId

        número

        0 indica que la navegación ocurre en la ventana de contenido de la pestaña; un valor positivo indica la navegación en un submarco. Los IDs de marco son únicos dentro de una pestaña.

      • Chrome 106 y versiones posteriores

        Es el tipo de marco en el que ocurrió la navegación.

      • parentDocumentId

        cadena opcional

        Chrome 106 y versiones posteriores

        Un UUID del documento superior que posee este marco. Esto no se establece si no hay un elemento superior.

      • parentFrameId

        número

        Chrome 74 y versiones posteriores

        Es el ID del marco superior o -1 si es el principal.

      • processId

        número

        Es el ID del proceso que ejecuta el procesador de este fotograma.

      • tabId

        número

        Es el ID de la pestaña en la que se produce la navegación.

      • timeStamp

        número

        Tiempo en que se construyó por completo el DOM de la página, en milisegundos desde el ciclo de entrenamiento.

      • url

        cadena

  • filtros

    objeto opcional

    • Condiciones que debe cumplir la URL a la que se navega. Los campos 'esquemas' y 'puertos' de UrlFilter se ignoran para este evento.

onErrorOccurred

chrome.webNavigation.onErrorOccurred.addListener(
  callback: function,
  filters?: object,
)

Se activa cuando se produce un error y se anula la navegación. Esto puede ocurrir si se produjo un error de red o si el usuario anuló la navegación.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (details: object)=>void

    • detalles

      objeto

      • documentId

        cadena

        Chrome 106 y versiones posteriores

        Se cargó un UUID del documento.

      • Chrome 106 y versiones posteriores

        El ciclo de vida en el que se encuentra el documento.

      • error

        cadena

        La descripción del error.

      • frameId

        número

        0 indica que la navegación ocurre en la ventana de contenido de la pestaña; un valor positivo indica la navegación en un submarco. Los IDs de marco son únicos dentro de una pestaña.

      • Chrome 106 y versiones posteriores

        Es el tipo de marco en el que ocurrió la navegación.

      • parentDocumentId

        cadena opcional

        Chrome 106 y versiones posteriores

        Un UUID del documento superior que posee este marco. Esto no se establece si no hay un elemento superior.

      • parentFrameId

        número

        Chrome 74 y versiones posteriores

        Es el ID del marco superior o -1 si es el principal.

      • processId

        número

        Obsoleta a partir de Chrome 50

        El processId ya no está establecido para este evento.

        El valor de -1.

      • tabId

        número

        Es el ID de la pestaña en la que se produce la navegación.

      • timeStamp

        número

        La hora en la que se produjo el error, en milisegundos desde el ciclo de entrenamiento.

      • url

        cadena

  • filtros

    objeto opcional

    • Condiciones que debe cumplir la URL a la que se navega. Los campos 'esquemas' y 'puertos' de UrlFilter se ignoran para este evento.

onHistoryStateUpdated

chrome.webNavigation.onHistoryStateUpdated.addListener(
  callback: function,
  filters?: object,
)

Se activa cuando el historial del fotograma se actualiza a una URL nueva. Todos los eventos futuros de ese marco usarán la URL actualizada.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (details: object)=>void

    • detalles

      objeto

      • documentId

        cadena

        Chrome 106 y versiones posteriores

        Se cargó un UUID del documento.

      • Chrome 106 y versiones posteriores

        El ciclo de vida en el que se encuentra el documento.

      • frameId

        número

        0 indica que la navegación ocurre en la ventana de contenido de la pestaña; un valor positivo indica la navegación en un submarco. Los IDs de marco son únicos dentro de una pestaña.

      • Chrome 106 y versiones posteriores

        Es el tipo de marco en el que ocurrió la navegación.

      • parentDocumentId

        cadena opcional

        Chrome 106 y versiones posteriores

        Un UUID del documento superior que posee este marco. Esto no se establece si no hay un elemento superior.

      • parentFrameId

        número

        Chrome 74 y versiones posteriores

        Es el ID del marco superior o -1 si es el principal.

      • processId

        número

        Es el ID del proceso que ejecuta el procesador de este fotograma.

      • tabId

        número

        Es el ID de la pestaña en la que se produce la navegación.

      • timeStamp

        número

        Indica el tiempo en milisegundos en el que se confirmó la navegación desde el ciclo de entrenamiento.

      • transitionQualifiers

        Una lista de calificadores de transición.

      • transitionType

        Causa de la navegación

      • url

        cadena

  • filtros

    objeto opcional

    • Condiciones que debe cumplir la URL a la que se navega. Los campos 'esquemas' y 'puertos' de UrlFilter se ignoran para este evento.

onReferenceFragmentUpdated

chrome.webNavigation.onReferenceFragmentUpdated.addListener(
  callback: function,
  filters?: object,
)

Se activa cuando se actualiza el fragmento de referencia de un fotograma. Todos los eventos futuros de ese marco usarán la URL actualizada.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (details: object)=>void

    • detalles

      objeto

      • documentId

        cadena

        Chrome 106 y versiones posteriores

        Se cargó un UUID del documento.

      • Chrome 106 y versiones posteriores

        El ciclo de vida en el que se encuentra el documento.

      • frameId

        número

        0 indica que la navegación ocurre en la ventana de contenido de la pestaña; un valor positivo indica la navegación en un submarco. Los IDs de marco son únicos dentro de una pestaña.

      • Chrome 106 y versiones posteriores

        Es el tipo de marco en el que ocurrió la navegación.

      • parentDocumentId

        cadena opcional

        Chrome 106 y versiones posteriores

        Un UUID del documento superior que posee este marco. Esto no se establece si no hay un elemento superior.

      • parentFrameId

        número

        Chrome 74 y versiones posteriores

        Es el ID del marco superior o -1 si es el principal.

      • processId

        número

        Es el ID del proceso que ejecuta el procesador de este fotograma.

      • tabId

        número

        Es el ID de la pestaña en la que se produce la navegación.

      • timeStamp

        número

        Indica el tiempo en milisegundos en el que se confirmó la navegación desde el ciclo de entrenamiento.

      • transitionQualifiers

        Una lista de calificadores de transición.

      • transitionType

        Causa de la navegación

      • url

        cadena

  • filtros

    objeto opcional

    • Condiciones que debe cumplir la URL a la que se navega. Los campos 'esquemas' y 'puertos' de UrlFilter se ignoran para este evento.

onTabReplaced

chrome.webNavigation.onTabReplaced.addListener(
  callback: function,
)

Se activa cuando el contenido de la pestaña se reemplaza por otra pestaña (por lo general, se renderizó previamente).

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (details: object)=>void

    • detalles

      objeto

      • replacedTabId

        número

        El ID de la pestaña que se reemplazó.

      • tabId

        número

        El ID de la pestaña que reemplazó a la pestaña anterior.

      • timeStamp

        número

        El momento en que se realizó el reemplazo, en milisegundos desde el ciclo de entrenamiento.