Descripción
Usa la API de chrome.tabs
para interactuar con el sistema de pestañas del navegador. Puedes usar esta API para crear, modificar y reorganizar pestañas en el navegador.
Descripción general
La API de Tabs no solo ofrece funciones para manipular y administrar pestañas, sino que también puede detectar language de la pestaña, toma una captura de pantalla y comunicarse con las secuencias de comandos de contenido de una pestaña.
Permisos
La mayoría de las funciones no requieren ningún permiso para usarlas. Por ejemplo: crea una nueva pestaña, volver a cargar una pestaña, navegar a otra URL, etc.
Hay tres permisos que los desarrolladores deben tener en cuenta cuando trabajan con la API de Tabs.
- Las "pestañas" permiso
- Este permiso no otorga acceso al espacio de nombres
chrome.tabs
. Por el contrario, Otorga a una extensión la capacidad de llamar atabs.query()
en relación con cuatro propiedades sensibles en instancias detabs.Tab
:url
,pendingUrl
,title
yfavIconUrl
- Permisos de host
- Los permisos de host permiten que una extensión lea y consulte los cuatro datos sensibles de una pestaña coincidente.
tabs.Tab
. También pueden interactuar directamente con las pestañas coincidentes a través de métodos como comotabs.captureVisibleTab()
,tabs.executeScript()
,tabs.insertCSS()
ytabs.removeCSS()
. - La pestaña "activeTab" permiso
activeTab
otorga a una extensión permiso de host temporal para la pestaña actual en respuesta a una invocación de usuario. A diferencia de los permisos del host,activeTab
no activa ninguna advertencia.
Manifiesto
Los siguientes son ejemplos de cómo declarar cada permiso en el manifiesto:
{
"name": "My extension",
...
"permissions": [
"tabs"
],
...
}
{
"name": "My extension",
...
"host_permissions": [
"http://*/*",
"https://*/*"
],
...
}
{
"name": "My extension",
...
"permissions": [
"activeTab"
],
...
}
Casos de uso
En las siguientes secciones, se muestran algunos casos de uso comunes.
Abrir la página de una extensión en una pestaña nueva
Un patrón común para las extensiones es abrir una página de integración en una pestaña nueva cuando la extensión está esté instalado. En el siguiente ejemplo, se muestra cómo hacerlo.
background.js:
chrome.runtime.onInstalled.addListener(({reason}) => {
if (reason === 'install') {
chrome.tabs.create({
url: "onboarding.html"
});
}
});
Cómo obtener la pestaña actual
En este ejemplo se demuestra la manera en que un service worker de una extensión puede recuperar la pestaña activa del ventana enfocada en la actualidad (o ventana enfocada más recientemente, si no hay ventanas de Chrome enfocadas) Esta se suele considerar como la pestaña actual del usuario.
async function getCurrentTab() {
let queryOptions = { active: true, lastFocusedWindow: true };
// `tab` will either be a `tabs.Tab` instance or `undefined`.
let [tab] = await chrome.tabs.query(queryOptions);
return tab;
}
function getCurrentTab(callback) {
let queryOptions = { active: true, lastFocusedWindow: true };
chrome.tabs.query(queryOptions, ([tab]) => {
if (chrome.runtime.lastError)
console.error(chrome.runtime.lastError);
// `tab` will either be a `tabs.Tab` instance or `undefined`.
callback(tab);
});
}
Silenciar la pestaña especificada
En este ejemplo, se muestra cómo una extensión puede activar o desactivar el estado silenciado de una pestaña determinada.
async function toggleMuteState(tabId) {
const tab = await chrome.tabs.get(tabId);
const muted = !tab.mutedInfo.muted;
await chrome.tabs.update(tabId, {muted});
console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
}
function toggleMuteState(tabId) {
chrome.tabs.get(tabId, async (tab) => {
let muted = !tab.mutedInfo.muted;
await chrome.tabs.update(tabId, { muted });
console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
});
}
Mover la pestaña actual a la primera posición cuando se hace clic en ella
En este ejemplo, se muestra cómo mover una pestaña mientras el arrastre puede estar en curso o no. Si bien este ejemplo
usa chrome.tabs.move
, puedes usar el mismo patrón de espera para otras llamadas que modifican pestañas mientras
hay un arrastre en curso.
chrome.tabs.onActivated.addListener(moveToFirstPosition);
async function moveToFirstPosition(activeInfo) {
try {
await chrome.tabs.move(activeInfo.tabId, {index: 0});
console.log("Success.");
} catch (error) {
if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
setTimeout(() => moveToFirstPosition(activeInfo), 50);
} else {
console.error(error);
}
}
}
chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);
function moveToFirstPositionMV2(activeInfo) {
chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {
if (chrome.runtime.lastError) {
const error = chrome.runtime.lastError;
if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);
} else {
console.error(error);
}
} else {
console.log("Success.");
}
});
}
Cómo pasar un mensaje a la secuencia de comandos de contenido de una pestaña seleccionada
En este ejemplo, se muestra cómo un service worker de una extensión puede comunicarse con secuencias de comandos de contenido en pestañas específicas del navegador mediante tabs.sendMessage()
.
function sendMessageToActiveTab(message) {
const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
const response = await chrome.tabs.sendMessage(tab.id, message);
// TODO: Do something with the response.
}
Ejemplos de extensiones
Para ver más demostraciones de extensiones de la API de Tabs, explora cualquiera de las siguientes opciones:
Tipos
MutedInfo
El estado silenciado de la pestaña y el motivo del último cambio de estado.
Propiedades
-
extensionId
string opcional
Es el ID de la extensión que cambió el estado silenciado. No se establece si una extensión no fue la razón por la que el estado de silencio cambió por última vez.
-
silenciado
boolean
Si la pestaña está silenciada (e impide la reproducción de sonido). Es posible que la pestaña esté silenciada incluso si no se ha reproducido o no está reproduciendo sonido. Es equivalente a si el estado se muestra un indicador de audio.
-
Reason
MutedInfoReason opcional
El motivo por el que se silenció o dejó de silenciar la pestaña. No se establece si nunca se cambió el estado de silencio de la pestaña.
MutedInfoReason
Un evento que causó un cambio de estado silenciado.
Enum
"usuario"
Una acción de entrada del usuario establece el estado silenciado.
"capture"
Se inició la captura de pestaña, lo que forzó un cambio de estado silenciado.
"extension"
Una extensión, identificada por el campo extensionId, establece el estado silenciado.
Tab
Propiedades
-
activo
boolean
Indica si la pestaña está activa en su ventana. No necesariamente significa que la ventana está enfocada.
-
Audible
booleano opcional
Chrome 45 y versiones posterioresIndica si la pestaña produjo sonido durante los últimos segundos (pero es posible que no se escuche si también está silenciada). Equivalente a si el "audio de la bocina" se muestra el indicador.
-
autoDiscardable
boolean
Chrome 54 y versiones posterioresSi el navegador puede descartar la pestaña automáticamente cuando hay pocos recursos
-
descartado
boolean
Chrome 54 y versiones posterioresSi se descarta la pestaña. Una pestaña descartada es aquella cuyo contenido se descargó de la memoria, pero aún está visible en la barra de pestañas. Su contenido se volverá a cargar la próxima vez que se active.
-
favIconUrl
string opcional
La URL del ícono de página de la pestaña. Esta propiedad solo está presente si el manifiesto de la extensión incluye el permiso
"tabs"
. También puede ser una cadena vacía si la pestaña se está cargando. -
groupId
número
Chrome 88 y versiones posterioresEl ID del grupo al que pertenece la pestaña.
-
alto
número opcional
La altura de la pestaña en píxeles
-
destacado
boolean
Indica si la pestaña está destacada.
-
id
número opcional
El ID de la pestaña. Los IDs de pestaña son únicos dentro de una sesión del navegador. En algunos casos, es posible que no se le asigne un ID a una pestaña. por ejemplo, cuando se consultan pestañas externas con la API de
sessions
, en cuyo caso puede haber un ID de sesión. El ID de la pestaña también se puede establecer enchrome.tabs.TAB_ID_NONE
para las ventanas de las apps y las Herramientas para desarrolladores. -
incógnito
boolean
Indica si la pestaña está en una ventana de incógnito.
-
index
número
El índice basado en cero de la pestaña dentro de su ventana
-
lastAccessed
número
Chrome 121 y versiones posterioresLa última vez que se accedió a la pestaña, como la cantidad de milisegundos desde el ciclo de entrenamiento.
-
mutedInfo
MutedInfo opcional
Chrome 46 y versiones posterioresEl estado silenciado de la pestaña y el motivo del último cambio de estado.
-
openerTabId
número opcional
El ID de la pestaña que abrió esta pestaña, si la hubiera. Esta propiedad solo está presente si aún existe la pestaña de apertura.
-
pendingUrl
string opcional
Chrome 79 y versiones posterioresLa URL a la que navega la pestaña, antes de que se confirme. Esta propiedad solo está presente si el manifiesto de la extensión incluye el permiso
"tabs"
y hay una navegación pendiente. -
marcada
boolean
Indica si la pestaña está fijada.
-
seleccionado
boolean
ObsoletoUsa
tabs.Tab.highlighted
.Indica si la pestaña está seleccionada.
-
sessionId
string opcional
El ID de sesión que se usa para identificar de forma inequívoca una pestaña obtenida de la API de
sessions
. -
estado
TabStatus opcional
Estado de carga de la pestaña.
-
título
string opcional
El título de la pestaña. Esta propiedad solo está presente si el manifiesto de la extensión incluye el permiso
"tabs"
. -
url
string opcional
La última URL confirmada del marco principal de la pestaña. Esta propiedad solo está presente si el manifiesto de la extensión incluye el permiso
"tabs"
y podría ser una cadena vacía si la pestaña aún no se confirmó. Consulta tambiénTab.pendingUrl
. -
ancho
número opcional
Es el ancho de la pestaña en píxeles.
-
windowId
número
El ID de la ventana que contiene la pestaña.
TabStatus
Estado de carga de la pestaña.
Enum
"descargado"
"loading"
"complete"
WindowType
Es el tipo de ventana.
Enum
“normal”
“popup”
“panel”
“app”
“Herramientas para desarrolladores”
ZoomSettings
Define cómo se controlan los cambios de zoom en una pestaña y con qué alcance.
Propiedades
-
defaultZoomFactor
número opcional
Chrome 43 y versiones posterioresSe utiliza para devolver el nivel de zoom predeterminado de la pestaña actual en las llamadas a tab.getZoomSettings.
-
Standard
ZoomSettingsMode optional
Define cómo se controlan los cambios de zoom, es decir, qué entidad es responsable del escalamiento real de la página. La configuración predeterminada es
automatic
. -
alcance
ZoomSettingsScope opcional
Define si los cambios de zoom persisten en el origen de la página o solo se aplican en esta pestaña. La configuración predeterminada es
per-origin
cuando está en modoautomatic
yper-tab
de lo contrario.
ZoomSettingsMode
Define cómo se controlan los cambios de zoom, es decir, qué entidad es responsable del escalamiento real de la página. La configuración predeterminada es automatic
.
Enum
"Automatic"
El navegador maneja automáticamente los cambios de zoom.
"manual"
Anula el manejo automático de los cambios de zoom. El evento onZoomChange
aún se enviará, y es responsabilidad de la extensión escuchar este evento y escalar la página de forma manual. Este modo no admite el zoom de per-origin
y, por lo tanto, ignora el parámetro de configuración de zoom scope
y supone per-tab
.
"enabled"
Inhabilita el zoom en la pestaña. La pestaña volverá al nivel de zoom predeterminado y se ignorarán todos los cambios de zoom que se intenten.
ZoomSettingsScope
Define si los cambios de zoom persisten en el origen de la página o solo se aplican en esta pestaña. La configuración predeterminada es per-origin
cuando está en modo automatic
y per-tab
de lo contrario.
Enum
"per-origin"
Los cambios de zoom persisten en el origen de la página ampliada; es decir, todas las demás pestañas a las que se haya navegado hasta ese mismo origen también se acercan. Además, los cambios de zoom de per-origin
se guardan con el origen, lo que significa que, cuando navegas a otras páginas del mismo origen, todas se acercan al mismo factor de zoom. El permiso per-origin
solo está disponible en el modo automatic
.
"por pestaña"
Los cambios de zoom solo se aplican en esta pestaña, mientras que los cambios de zoom en otras pestañas no afectan el zoom de esta pestaña. Además, los cambios de zoom de per-tab
se restablecen en la navegación. Si navegas por una pestaña, siempre se cargan páginas con sus factores de zoom per-origin
.
Propiedades
MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND
La cantidad máxima de veces que se puede llamar a captureVisibleTab
por segundo. captureVisibleTab
es costoso y no se debe llamar con demasiada frecuencia.
Valor
2
TAB_ID_NONE
Un ID que representa la ausencia de una pestaña del navegador.
Valor
−1
TAB_INDEX_NONE
Un índice que representa la ausencia de un índice de pestaña en un tab_strip.
Valor
−1
Métodos
captureVisibleTab()
chrome.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
callback?: function,
)
Captura el área visible de la pestaña actualmente activa en la ventana especificada. Para invocar este método, la extensión debe tener el permiso <all_urls> o el permiso activeTab. Además de los sitios a los que normalmente pueden acceder las extensiones, este método permite que las extensiones capturen sitios sensibles que están restringidos, como las páginas de chrome:-scheme y otras extensiones. páginas, y datos: URLs. Estos sitios sensibles solo se pueden capturar con el permiso activeTab. Solo se pueden capturar las URL de los archivos si la extensión tiene acceso a los archivos.
Parámetros
-
windowId
número opcional
La ventana de destino. El valor predeterminado es la ventana actual.
-
opciones
ImageDetails opcional
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(dataUrl: string) => void
-
dataUrl
string
Una URL de datos que codifica una imagen del área visible de la pestaña capturada. Se puede asignar al “src” de un elemento HTML
img
para mostrar.
-
Muestra
-
Promesa<string>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
)
Se conecta a las secuencias de comandos de contenido en la pestaña especificada. El evento runtime.onConnect
se activa en cada secuencia de comandos de contenido que se ejecuta en la pestaña especificada para la extensión actual. Para conocer más detalles, consulta Mensajes de secuencias de comandos de contenido.
Parámetros
-
tabId
número
-
connectInfo
objeto opcional
-
documentId
string opcional
Chrome 106 y versiones posterioresAbre un puerto para un documento específico identificado por
documentId
, en lugar de todos los marcos de la pestaña. -
frameId
número opcional
Abre un puerto para una trama específica identificada por
frameId
, en lugar de todos los marcos en la pestaña. -
nombre
string opcional
Se pasa a onConnect para las secuencias de comandos de contenido que escuchan el evento de conexión.
-
Muestra
-
Un puerto que se puede usar para comunicarse con las secuencias de comandos de contenido que se ejecutan en la pestaña especificada. El evento
runtime.Port
del puerto se activa si la pestaña se cierra o no existe.
create()
chrome.tabs.create(
createProperties: object,
callback?: function,
)
Crea una pestaña nueva.
Parámetros
-
createProperties
objeto
-
activo
booleano opcional
Si la pestaña debe convertirse en la pestaña activa en la ventana No afecta el enfoque de la ventana (consulta
windows.update
). La configuración predeterminada estrue
. -
index
número opcional
La posición que la pestaña debe tomar en la ventana. El valor proporcionado se encuentra entre cero y el número de pestañas en la ventana.
-
openerTabId
número opcional
El ID de la pestaña que abrió esta pestaña. Si se especifica, la pestaña del abridor debe estar en la misma ventana que la pestaña recién creada.
-
marcada
booleano opcional
Si la pestaña debe fijarse. La configuración predeterminada es
false
. -
seleccionado
booleano opcional
ObsoletoUsa active.
Si la pestaña debe convertirse en la pestaña seleccionada en la ventana La configuración predeterminada es
true
. -
url
string opcional
La URL a la que se debe navegar inicialmente por la pestaña. Las URLs completamente calificadas deben incluir un esquema (es decir, "http://www.google.com", no "www.google.com"). Las URLs relativas se relacionan con la página actual de la extensión. El valor predeterminado es la página Nueva pestaña.
-
windowId
número opcional
La ventana en la que se creará la pestaña nueva. El valor predeterminado es la ventana actual.
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(tab: Tab) => void
-
tab
La pestaña Creado.
-
Muestra
-
Promesa<Tab>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
callback?: function,
)
Detecta el idioma principal del contenido de una pestaña.
Parámetros
-
tabId
número opcional
El valor predeterminado es la pestaña activa de la ventana actual.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(language: string) => void
-
idioma
string
Un código de idioma ISO, como
en
ofr
Para obtener una lista completa de los idiomas compatibles con este método, consulta kLanguageInfoTable. Se verifica la segunda a la cuarta columna y se muestra el primer valor que no es NULL, excepto para el chino simplificado para el que se muestrazh-CN
. Para un idioma desconocido o indefinido, se muestraund
.
-
Muestra
-
Promesa<string>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
discard()
chrome.tabs.discard(
tabId?: number,
callback?: function,
)
Descarta una pestaña de la memoria. Las pestañas descartadas aún son visibles en la barra de pestañas y se vuelven a cargar cuando se activan.
Parámetros
-
tabId
número opcional
El ID de la pestaña que se descartará. Si se especifica, la pestaña se descarta, a menos que esté activa o ya se descarte. Si se omite, el navegador descarta la pestaña menos importante. Esta acción puede fallar si no existen pestañas descartables.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(tab?: Tab) => void
-
tab
Pestaña opcional
La pestaña descartada, si se descartó correctamente indefinido de lo contrario.
-
Muestra
-
Promesa<Tab | indefinido>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
duplicate()
chrome.tabs.duplicate(
tabId: number,
callback?: function,
)
Duplica una pestaña.
Parámetros
-
tabId
número
El ID de la pestaña que deseas duplicar.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(tab?: Tab) => void
Muestra
-
Promesa<Tab | indefinido>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
executeScript()
chrome.tabs.executeScript(
tabId?: number,
details: InjectDetails,
callback?: function,
)
Se reemplazó por scripting.executeScript
en Manifest V3.
Inserta código JavaScript en una página. Para obtener más información, consulta la sección de inserción programática del documento de secuencias de comandos de contenido.
Parámetros
-
tabId
número opcional
ID de la pestaña en la que se ejecuta la secuencia de comandos muestra de forma predeterminada la pestaña activa de la ventana actual.
-
detalles
Detalles de la secuencia de comandos que se ejecutará. Se debe establecer el código o la propiedad del archivo, pero es posible que no ambos estén configurados al mismo tiempo.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(result?: any[]) => void
-
resultado
cualquiera[] opcional
El resultado de la secuencia de comandos en cada fotograma insertado.
-
Muestra
-
Promise<any[] | indefinido>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
get()
chrome.tabs.get(
tabId: number,
callback?: function,
)
Recupera detalles sobre la pestaña especificada.
Parámetros
-
tabId
número
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(tab: Tab) => void
-
tab
-
Muestra
-
Promesa<Tab>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getAllInWindow()
chrome.tabs.getAllInWindow(
windowId?: number,
callback?: function,
)
Usa tabs.query
{windowId: windowId}
.
Obtiene detalles sobre todas las pestañas de la ventana especificada.
Parámetros
-
windowId
número opcional
El valor predeterminado es la ventana actual.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(tabs: Tab[]) => void
-
pestañas
-
Muestra
-
Promesa<Tab[]>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getCurrent()
chrome.tabs.getCurrent(
callback?: function,
)
Obtiene la pestaña desde la que se realiza esta llamada a la secuencia de comandos. Muestra undefined
si se llama desde un contexto que no es de pestaña (por ejemplo, una página en segundo plano o una vista emergente).
Parámetros
Muestra
-
Promesa<Tab | indefinido>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getSelected()
chrome.tabs.getSelected(
windowId?: number,
callback?: function,
)
Usa tabs.query
{active: true}
.
Obtiene la pestaña que está seleccionada en la ventana especificada.
Parámetros
-
windowId
número opcional
El valor predeterminado es la ventana actual.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(tab: Tab) => void
-
tab
-
Muestra
-
Promesa<Tab>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getZoom()
chrome.tabs.getZoom(
tabId?: number,
callback?: function,
)
Obtiene el factor de zoom actual de una pestaña especificada.
Parámetros
-
tabId
número opcional
El ID de la pestaña del que se obtendrá el factor de zoom actual; muestra de forma predeterminada la pestaña activa de la ventana actual.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(zoomFactor: number) => void
-
zoomFactor
número
El factor de zoom actual de la pestaña.
-
Muestra
-
Promise<number>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
callback?: function,
)
Obtiene la configuración de zoom actual de una pestaña especificada.
Parámetros
-
tabId
número opcional
el ID de la pestaña de la que se obtendrá la configuración de zoom actual; muestra de forma predeterminada la pestaña activa de la ventana actual.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(zoomSettings: ZoomSettings) => void
-
zoomSettings
La configuración de zoom actual de la pestaña.
-
Muestra
-
Promise<ZoomSettings>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
goBack()
chrome.tabs.goBack(
tabId?: number,
callback?: function,
)
Regresa a la página anterior si hay una disponible.
Parámetros
-
tabId
número opcional
el ID de la pestaña para navegar hacia atrás; se establecerá de forma predeterminada en la pestaña seleccionada de la ventana actual.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promesa<void>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
goForward()
chrome.tabs.goForward(
tabId?: number,
callback?: function,
)
Si hay una disponible, avanza a la página siguiente.
Parámetros
-
tabId
número opcional
el ID de la pestaña para navegar hacia adelante; se establecerá de forma predeterminada en la pestaña seleccionada de la ventana actual.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promesa<void>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
group()
chrome.tabs.group(
options: object,
callback?: function,
)
Agrega una o más pestañas a un grupo específico o, si no se especifica ningún grupo, agrega las pestañas determinadas a un grupo recién creado.
Parámetros
-
opciones
objeto
-
createProperties
objeto opcional
Configuraciones para crear un grupo. No se puede usar si ya se especificó el groupId.
-
windowId
número opcional
La ventana del grupo nuevo. El valor predeterminado es la ventana actual.
-
-
groupId
número opcional
El ID del grupo al que se agregarán las pestañas. Si no se especifica, se creará un grupo nuevo.
-
tabIds
número | [número, ...número[]]
El ID de la pestaña o la lista de IDs de las pestañas que se agregarán al grupo especificado.
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(groupId: number) => void
-
groupId
número
El ID del grupo al que se agregaron las pestañas.
-
Muestra
-
Promise<number>
Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
highlight()
chrome.tabs.highlight(
highlightInfo: object,
callback?: function,
)
Destaca las pestañas determinadas y se enfoca en la primera del grupo. No aparecerá ninguna acción si la pestaña especificada se encuentra activa.
Parámetros
-
highlightInfo
objeto
-
pestañas
número | número
Uno o más índices de pestaña para destacar.
-
windowId
número opcional
La ventana que contiene las pestañas.
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(window: Window) => void
-
en la ventana modal.
Contiene detalles sobre la ventana cuyas pestañas se destacaron.
-
Muestra
-
Promise<windows.Window>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
insertCSS()
chrome.tabs.insertCSS(
tabId?: number,
details: InjectDetails,
callback?: function,
)
Se reemplazó por scripting.insertCSS
en Manifest V3.
Inserta CSS en una página. Los estilos insertados con este método se pueden quitar con scripting.removeCSS
. Para obtener más información, consulta la sección de inserción programática del documento de secuencias de comandos de contenido.
Parámetros
-
tabId
número opcional
El ID de la pestaña en la que se insertará el CSS muestra de forma predeterminada la pestaña activa de la ventana actual.
-
detalles
Detalles del texto CSS que se insertará. Se debe establecer el código o la propiedad del archivo, pero es posible que no ambos estén configurados al mismo tiempo.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promesa<void>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
move()
chrome.tabs.move(
tabIds: number | number[],
moveProperties: object,
callback?: function,
)
Mueve una o más pestañas a una nueva posición dentro de su ventana o a una nueva ventana. Ten en cuenta que las pestañas solo se pueden mover hacia y desde ventanas normales (window.type === "normal").
Parámetros
-
tabIds
número | número
El ID de la pestaña o la lista de IDs de la pestaña que se moverán.
-
moveProperties
objeto
-
index
número
La posición a la que se moverá la ventana. Usa
-1
para colocar la pestaña al final de la ventana. -
windowId
número opcional
El valor predeterminado es la ventana en la que se encuentra la pestaña.
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(tabs: Tab | Tab[]) => void
-
pestañas
Detalles sobre las pestañas que se movieron.
-
Muestra
-
Chrome 88 y versiones posteriores
Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
query()
chrome.tabs.query(
queryInfo: object,
callback?: function,
)
Obtiene todas las pestañas que tienen las propiedades especificadas o todas las pestañas si no se especifican propiedades.
Parámetros
-
queryInfo
objeto
-
activo
booleano opcional
Si las pestañas están activas en sus ventanas
-
Audible
booleano opcional
Chrome 45 y versiones posterioresSi las pestañas son audibles
-
autoDiscardable
booleano opcional
Chrome 54 y versiones posterioresSi el navegador puede descartar las pestañas automáticamente cuando hay pocos recursos
-
currentWindow
booleano opcional
Si las pestañas están en la ventana actual
-
descartado
booleano opcional
Chrome 54 y versiones posterioresSi se descartan las pestañas. Una pestaña descartada es aquella cuyo contenido se descargó de la memoria, pero aún está visible en la barra de pestañas. Su contenido se volverá a cargar la próxima vez que se active.
-
groupId
número opcional
Chrome 88 y versiones posterioresEl ID del grupo en el que se encuentran las pestañas o
tabGroups.TAB_GROUP_ID_NONE
para las pestañas no agrupadas. -
destacado
booleano opcional
Si las pestañas están destacadas
-
index
número opcional
La posición de las pestañas dentro de sus ventanas.
-
lastFocusedWindow
booleano opcional
Indica si las pestañas están en la última ventana enfocada.
-
silenciado
booleano opcional
Chrome 45 y versiones posterioresSi las pestañas están silenciadas.
-
marcada
booleano opcional
Si las pestañas están fijadas o no.
-
estado
TabStatus opcional
Estado de carga de la pestaña.
-
título
string opcional
Haz coincidir los títulos de las páginas con un patrón. Esta propiedad se ignora si la extensión no tiene el permiso
"tabs"
. -
url
string | string[] opcional
Haz coincidir las pestañas con uno o más patrones de URL. Los identificadores de fragmentos no coinciden. Esta propiedad se ignora si la extensión no tiene el permiso
"tabs"
. -
windowId
número opcional
Es el ID de la ventana superior o
windows.WINDOW_ID_CURRENT
para la ventana actual. -
windowType
WindowType opcional
El tipo de ventana en la que se encuentran las pestañas.
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(result: Tab[]) => void
-
resultado
-
Muestra
-
Promesa<Tab[]>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
callback?: function,
)
Vuelve a cargar una pestaña.
Parámetros
-
tabId
número opcional
El ID de la pestaña que se volverá a cargar; se establecerá de forma predeterminada en la pestaña seleccionada de la ventana actual.
-
reloadProperties
objeto opcional
-
bypassCache
booleano opcional
Establece si se debe omitir el almacenamiento en caché local. La configuración predeterminada es
false
.
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promesa<void>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
remove()
chrome.tabs.remove(
tabIds: number | number[],
callback?: function,
)
Cierra una o más pestañas.
Parámetros
-
tabIds
número | número
El ID de la pestaña o la lista de IDs de la pestaña que se cerrará.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promesa<void>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
removeCSS()
chrome.tabs.removeCSS(
tabId?: number,
details: DeleteInjectionDetails,
callback?: function,
)
Se reemplazó por scripting.removeCSS
en Manifest V3.
Quita del CSS de una página que se insertó anteriormente con una llamada a scripting.insertCSS
.
Parámetros
-
tabId
número opcional
El ID de la pestaña de la que se quitará el CSS muestra de forma predeterminada la pestaña activa de la ventana actual.
-
detalles
Detalles del texto del CSS que se quitará. Se debe establecer el código o la propiedad del archivo, pero es posible que no ambos estén configurados al mismo tiempo.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promesa<void>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
callback?: function,
)
Envía un solo mensaje a las secuencias de comandos de contenido de la pestaña especificada, con una devolución de llamada opcional que se ejecutará cuando se envíe una respuesta. El evento runtime.onMessage
se activa en cada secuencia de comandos de contenido que se ejecuta en la pestaña especificada para la extensión actual.
Parámetros
-
tabId
número
-
mensaje
cualquiera
El mensaje que se enviará. Este mensaje debe ser un objeto que admita JSON.
-
opciones
objeto opcional
-
documentId
string opcional
Chrome 106 y versiones posterioresEnvía un mensaje a un documento específico identificado por
documentId
en lugar de todos los marcos de la pestaña. -
frameId
número opcional
Envía un mensaje a un marco específico identificado por
frameId
en lugar de a todos los marcos de la pestaña.
-
-
callback
función opcional
Chrome 99 y versiones posterioresEl parámetro
callback
se ve de la siguiente manera:(response: any) => void
-
respuesta
cualquiera
El objeto de respuesta JSON que envía el controlador del mensaje. Si se produce un error durante la conexión a la pestaña especificada, se llamará a la devolución de llamada sin argumentos y
runtime.lastError
se establecerá en el mensaje de error.
-
Muestra
-
Promesa<cualquiera>
Chrome 99 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
sendRequest()
chrome.tabs.sendRequest(
tabId: number,
request: any,
callback?: function,
)
Usa runtime.sendMessage
.
Envía una sola solicitud a las secuencias de comandos de contenido de la pestaña especificada, con una devolución de llamada opcional que se ejecutará cuando se envíe una respuesta. El evento extension.onRequest
se activa en cada secuencia de comandos de contenido que se ejecuta en la pestaña especificada para la extensión actual.
Parámetros
-
tabId
número
-
request
cualquiera
-
callback
función opcional
Chrome 99 y versiones posterioresEl parámetro
callback
se ve de la siguiente manera:(response: any) => void
-
respuesta
cualquiera
El objeto de respuesta JSON que envía el controlador de la solicitud. Si se produce un error durante la conexión a la pestaña especificada, se llamará a la devolución de llamada sin argumentos y
runtime.lastError
se establecerá en el mensaje de error.
-
Muestra
-
Promesa<cualquiera>
Chrome 99 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
callback?: function,
)
Hace zoom en una pestaña especificada.
Parámetros
-
tabId
número opcional
El ID de la pestaña para hacer zoom muestra de forma predeterminada la pestaña activa de la ventana actual.
-
zoomFactor
número
Nuevo factor de zoom Un valor de
0
establece la pestaña en su factor de zoom predeterminado actual. Los valores superiores a0
especifican un factor de zoom (posiblemente no predeterminado) para la pestaña. -
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promesa<void>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
callback?: function,
)
Establece la configuración de zoom para una pestaña específica, que define cómo se controlan los cambios de zoom. Estos parámetros de configuración se restablecen a los valores predeterminados cuando navegas por la pestaña.
Parámetros
-
tabId
número opcional
El ID de la pestaña para la que se cambiará la configuración de zoom muestra de forma predeterminada la pestaña activa de la ventana actual.
-
zoomSettings
Define cómo se controlan los cambios de zoom y con qué alcance.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promesa<void>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
ungroup()
chrome.tabs.ungroup(
tabIds: number | [number, ...number[]],
callback?: function,
)
Quita una o más pestañas de sus respectivos grupos. Si se vacía algún grupo, se borrará.
Parámetros
-
tabIds
número | [número, ...número[]]
El ID de la pestaña o la lista de IDs de la pestaña que se quitarán de sus respectivos grupos.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promesa<void>
Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
update()
chrome.tabs.update(
tabId?: number,
updateProperties: object,
callback?: function,
)
Modifica las propiedades de una pestaña. Las propiedades que no se especifican en updateProperties
no se modifican.
Parámetros
-
tabId
número opcional
El valor predeterminado es la pestaña seleccionada en la ventana actual.
-
updateProperties
objeto
-
activo
booleano opcional
Si la pestaña debe estar activa o no. No afecta el enfoque de la ventana (consulta
windows.update
). -
autoDiscardable
booleano opcional
Chrome 54 y versiones posterioresSi el navegador debe descartar la pestaña automáticamente cuando hay pocos recursos
-
destacado
booleano opcional
Agrega o quita la pestaña de la selección actual.
-
silenciado
booleano opcional
Chrome 45 y versiones posterioresSi la pestaña debe silenciarse.
-
openerTabId
número opcional
El ID de la pestaña que abrió esta pestaña. Si se especifica, la pestaña del abridor debe estar en la misma ventana que esta pestaña.
-
marcada
booleano opcional
Si la pestaña debe fijarse.
-
seleccionado
booleano opcional
ObsoletoUsa la opción destacado.
Si se debe seleccionar la pestaña
-
url
string opcional
Una URL a la que navegar por la pestaña. Las URLs de JavaScript no son compatibles. usa
scripting.executeScript
en su lugar.
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(tab?: Tab) => void
Muestra
-
Promesa<Tab | indefinido>
Chrome 88 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
Eventos
onActivated
chrome.tabs.onActivated.addListener(
callback: function,
)
Se activa cuando cambia la pestaña activa en una ventana. Ten en cuenta que es posible que la URL de la pestaña no esté configurada en el momento en que se activó este evento, pero puedes escuchar los eventos onUpdated para recibir una notificación cuando se establezca una URL.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(activeInfo: object) => void
-
activeInfo
objeto
-
tabId
número
El ID de la pestaña que se activó.
-
windowId
número
El ID de la ventana en la que la pestaña activa cambió.
-
-
onActiveChanged
chrome.tabs.onActiveChanged.addListener(
callback: function,
)
Usa tabs.onActivated
.
Se activa cuando cambia la pestaña seleccionada en una ventana. Ten en cuenta que es posible que la URL de la pestaña no esté configurada en el momento en que se activó este evento, pero puedes escuchar eventos tabs.onUpdated
para recibir una notificación cuando se establezca una URL.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(tabId: number, selectInfo: object) => void
-
tabId
número
-
selectInfo
objeto
-
windowId
número
El ID de la ventana en la que la pestaña seleccionada cambió.
-
-
onAttached
chrome.tabs.onAttached.addListener(
callback: function,
)
Se activa cuando se adjunta una pestaña a una ventana. por ejemplo, porque se movió entre ventanas.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(tabId: number, attachInfo: object) => void
-
tabId
número
-
attachInfo
objeto
-
newPosition
número
-
newWindowId
número
-
-
onCreated
chrome.tabs.onCreated.addListener(
callback: function,
)
Se activa cuando se crea una pestaña. Ten en cuenta que es posible que la URL de la pestaña y la pertenencia a un grupo de pestañas no estén configuradas en el momento en que se activa este evento, pero puedes escuchar los eventos onUpdated para recibir una notificación cuando se configure una URL o la pestaña se agregue a un grupo de pestañas.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(tab: Tab) => void
-
tab
-
onDetached
chrome.tabs.onDetached.addListener(
callback: function,
)
Se activa cuando una pestaña se separa de una ventana. por ejemplo, porque se movió entre ventanas.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(tabId: number, detachInfo: object) => void
-
tabId
número
-
detachInfo
objeto
-
oldPosition
número
-
oldWindowId
número
-
-
onHighlightChanged
chrome.tabs.onHighlightChanged.addListener(
callback: function,
)
Usa tabs.onHighlighted
.
Se activa cuando cambian las pestañas destacadas o seleccionadas en una ventana.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(selectInfo: object) => void
-
selectInfo
objeto
-
tabIds
número
Todas las pestañas destacadas en la ventana.
-
windowId
número
La ventana cuyas pestañas cambiaron.
-
-
onHighlighted
chrome.tabs.onHighlighted.addListener(
callback: function,
)
Se activa cuando cambian las pestañas destacadas o seleccionadas en una ventana.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(highlightInfo: object) => void
-
highlightInfo
objeto
-
tabIds
número
Todas las pestañas destacadas en la ventana.
-
windowId
número
La ventana cuyas pestañas cambiaron.
-
-
onMoved
chrome.tabs.onMoved.addListener(
callback: function,
)
Se activa cuando una pestaña se mueve dentro de una ventana. Solo se activa un evento de movimiento, que representa la pestaña que el usuario movió directamente. Los eventos de movimiento no se activan para las otras pestañas que se deben mover en respuesta a la pestaña que se movió manualmente. Este evento no se activa cuando se mueve una pestaña entre ventanas. Para obtener más información, consulta tabs.onDetached
.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(tabId: number, moveInfo: object) => void
-
tabId
número
-
moveInfo
objeto
-
fromIndex
número
-
toIndex
número
-
windowId
número
-
-
onRemoved
chrome.tabs.onRemoved.addListener(
callback: function,
)
Se activa cuando se cierra una pestaña.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(tabId: number, removeInfo: object) => void
-
tabId
número
-
removeInfo
objeto
-
isWindowClosing
boolean
Verdadero cuando se cierra la pestaña porque se cerró la ventana superior.
-
windowId
número
La ventana cuya pestaña se cerró.
-
-
onReplaced
chrome.tabs.onReplaced.addListener(
callback: function,
)
Se activa cuando se reemplaza una pestaña por otra debido a la renderización previa o a la instantánea.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(addedTabId: number, removedTabId: number) => void
-
addedTabId
número
-
removedTabId
número
-
onSelectionChanged
chrome.tabs.onSelectionChanged.addListener(
callback: function,
)
Usa tabs.onActivated
.
Se activa cuando cambia la pestaña seleccionada en una ventana.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(tabId: number, selectInfo: object) => void
-
tabId
número
-
selectInfo
objeto
-
windowId
número
El ID de la ventana en la que la pestaña seleccionada cambió.
-
-
onUpdated
chrome.tabs.onUpdated.addListener(
callback: function,
)
Se activa cuando se actualiza una pestaña.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(tabId: number, changeInfo: object, tab: Tab) => void
-
tabId
número
-
changeInfo
objeto
-
Audible
booleano opcional
Chrome 45 y versiones posterioresEl nuevo estado audible de la pestaña
-
autoDiscardable
booleano opcional
Chrome 54 y versiones posterioresEl nuevo estado de la pestaña que se puede descartar automáticamente.
-
descartado
booleano opcional
Chrome 54 y versiones posterioresNuevo estado descartado de la pestaña.
-
favIconUrl
string opcional
La nueva URL del ícono de página de la pestaña.
-
groupId
número opcional
Chrome 88 y versiones posterioresEl nuevo grupo de la pestaña.
-
mutedInfo
MutedInfo opcional
Chrome 46 y versiones posterioresEl nuevo estado silenciado de la pestaña y el motivo del cambio
-
marcada
booleano opcional
Nuevo estado fijado de la pestaña.
-
estado
TabStatus opcional
Estado de carga de la pestaña.
-
título
string opcional
Chrome 48 y versiones posterioresNuevo título de la pestaña.
-
url
string opcional
La URL de la pestaña si ha cambiado.
-
-
tab
-
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
Se activa cuando se acerca una pestaña.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
objeto
-
newZoomFactor
número
-
oldZoomFactor
número
-
tabId
número
-
zoomSettings
-
-