Descrizione
Utilizza l'API chrome.tabs
per interagire con il sistema di schede del browser. Puoi utilizzare questa API per creare, modificare e riorganizzare le schede nel browser.
L'API Tabs non solo offre funzionalità per manipolare e gestire le schede, ma può anche rilevare la lingua della scheda, acquisire uno screenshot e comunicare con gli script dei contenuti di una scheda.
Autorizzazioni
La maggior parte delle funzionalità non richiede autorizzazioni per l'utilizzo. Ad esempio: creazione di una nuova scheda, ricarica di una scheda, navigazione verso un altro URL e così via.
Gli sviluppatori devono tenere conto di tre autorizzazioni quando utilizzano l'API Tabs.
- L'autorizzazione "schede"
Questa autorizzazione non consente l'accesso allo spazio dei nomi
chrome.tabs
. Al contrario, consente a un'estensione di chiamaretabs.query()
per quattro proprietà sensibili nelle istanzetabs.Tab
:url
,pendingUrl
,title
efavIconUrl
.{ "name": "My extension", ... "permissions": [ "tabs" ], ... }
- Autorizzazioni host
Le autorizzazioni host consentono a un'estensione di leggere ed eseguire query sulle quattro proprietà sensibili
tabs.Tab
di una scheda corrispondente. Possono anche interagire direttamente con le schede corrispondenti utilizzando metodi cometabs.captureVisibleTab()
,tabs.executeScript()
,tabs.insertCSS()
etabs.removeCSS()
.{ "name": "My extension", ... "host_permissions": [ "http://*/*", "https://*/*" ], ... }
- L'autorizzazione "activeTab"
activeTab
concede a un'estensione un'autorizzazione temporanea per l'host per la scheda corrente in risposta a un'invocazione da parte dell'utente. A differenza delle autorizzazioni host,activeTab
non attiva alcun avviso.{ "name": "My extension", ... "permissions": [ "activeTab" ], ... }
Casi d'uso
Le sezioni seguenti mostrano alcuni casi d'uso comuni.
Aprire una pagina di estensione in una nuova scheda
Un pattern comune per le estensioni è aprire una pagina di onboarding in una nuova scheda quando l'estensione viene installata. Il seguente esempio mostra come eseguire questa operazione.
background.js:
chrome.runtime.onInstalled.addListener(({reason}) => {
if (reason === 'install') {
chrome.tabs.create({
url: "onboarding.html"
});
}
});
Ottenere la scheda corrente
Questo esempio mostra come il service worker di un'estensione può recuperare la scheda attiva dalla finestra attualmente attiva (o dalla finestra attiva più recente, se non sono attive finestre di Chrome). Di solito si può considerare come la scheda corrente dell'utente.
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);
});
}
Disattivare l'audio della scheda specificata
Questo esempio mostra come un'estensione può attivare/disattivare lo stato di disattivazione audio per una determinata scheda.
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" }`);
});
}
Sposta la scheda corrente nella prima posizione quando viene fatto clic
Questo esempio mostra come spostare una scheda mentre è in corso o meno lo scorrimento. Sebbene questo esempio utilizzi chrome.tabs.move
, puoi utilizzare lo stesso pattern di attesa per altre chiamate che modificano le schede durante un trascinamento.
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.");
}
});
}
Passare un messaggio allo script dei contenuti di una scheda selezionata
Questo esempio mostra come il service worker di un'estensione può comunicare con gli script di contenuti in schede del browser specifiche utilizzando 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.
}
Esempi di estensioni
Per altre dimostrazioni delle estensioni dell'API Tabs, consulta una delle seguenti risorse:
Tipi
MutedInfo
Lo stato di disattivazione audio della scheda e il motivo dell'ultima modifica dello stato.
Proprietà
-
extensionId
stringa facoltativa
L'ID dell'estensione che ha modificato lo stato di disattivazione dell'audio. Non impostato se un'estensione non è stata la causa dell'ultima modifica dello stato di disattivazione audio.
-
audio disattivato
booleano
Indica se l'audio della scheda è disattivato (non è possibile riprodurre l'audio). L'audio della scheda potrebbe essere disattivato anche se non è stato riprodotto o non è attualmente in riproduzione. Equivalente a indicare se è visibile l'indicatore audio "Disattivato".
-
motivo
MutedInfoReason facoltativo
Il motivo per cui l'audio della scheda è stato disattivato o riattivato. Non impostato se lo stato di disattivazione dell'audio della scheda non è mai stato modificato.
MutedInfoReason
Un evento che ha causato una modifica dello stato di disattivazione dell'audio.
Enum
"user"
Un'azione di input dell'utente imposta lo stato di disattivazione dell'audio.
"capture"
È stata avviata la cattura della scheda, forzando una modifica dello stato di disattivazione dell'audio.
"extension"
Un'estensione, identificata dal campo extensionId, imposta lo stato di disattivazione dell'audio.
Tab
Proprietà
-
attivo
booleano
Indica se la scheda è attiva nella finestra. Non significa necessariamente che la finestra sia attiva.
-
audible
booleano facoltativo
Chrome 45 e versioni successiveIndica se la scheda ha prodotto audio negli ultimi due secondi (ma potrebbe non essere udibile se è attivata la disattivazione dell'audio). Corrisponde a se è visualizzato l'indicatore "Audio dello speaker".
-
autoDiscardable
booleano
Chrome 54 e versioni successiveIndica se la scheda può essere eliminata automaticamente dal browser quando le risorse sono scarse.
-
ignorato
booleano
Chrome 54 e versioni successiveIndica se la scheda viene ignorata. Una scheda eliminata è una scheda i cui contenuti sono stati scaricati dalla memoria, ma che è ancora visibile nella barra delle schede. I contenuti vengono ricaricati alla successiva attivazione.
-
favIconUrl
stringa facoltativa
L'URL della favicon della scheda. Questa proprietà è presente solo se il manifest dell'estensione include l'autorizzazione
"tabs"
. Potrebbe anche essere una stringa vuota se la scheda è in fase di caricamento. -
bloccato
booleano
In attesaIndica se la scheda è bloccata. Una scheda bloccata non può eseguire attività, inclusi gestori di eventi o timer. È visibile nella barra delle schede e i relativi contenuti vengono caricati in memoria. Viene sbloccato al momento dell'attivazione.
-
groupId
numero
Chrome 88 e versioni successiveL'ID del gruppo a cui appartiene la scheda.
-
altezza
number facoltativo
L'altezza della scheda in pixel.
-
in evidenza
booleano
Indica se la scheda è evidenziata.
-
id
number facoltativo
L'ID della scheda. Gli ID scheda sono univoci all'interno di una sessione del browser. In alcuni casi a una scheda potrebbe non essere assegnato un ID, ad esempio quando esegui query su schede esterne utilizzando l'API
sessions
, nel qual caso potrebbe essere presente un ID sessione. L'ID scheda può essere impostato anche suchrome.tabs.TAB_ID_NONE
per le app e le finestre di devtools. -
in incognito
booleano
Indica se la scheda si trova in una finestra di navigazione in incognito.
-
indice
numero
L'indice in base zero della scheda all'interno della relativa finestra.
-
lastAccessed
numero
Chrome 121 e versioni successiveL'ultima volta che è stato eseguito l'accesso alla scheda come numero di millisecondi dall'epoca.
-
mutedInfo
MutedInfo facoltativo
Chrome 46 e versioni successiveLo stato di disattivazione audio della scheda e il motivo dell'ultima modifica dello stato.
-
openerTabId
number facoltativo
L'ID della scheda che ha aperto questa scheda, se presente. Questa proprietà è presente solo se la scheda dell'apri è ancora esistente.
-
pendingUrl
stringa facoltativa
Chrome 79 e versioni successiveL'URL a cui si sta navigando nella scheda prima del commit. Questa proprietà è presente solo se il manifest dell'estensione include l'autorizzazione
"tabs"
ed è presente una navigazione in attesa. -
fissata
booleano
Indica se la scheda è bloccata.
-
selezionato
booleano
ObsoletoUtilizza
tabs.Tab.highlighted
.Indica se la scheda è selezionata.
-
sessionId
stringa facoltativa
L'ID sessione utilizzato per identificare in modo univoco una scheda ottenuta dall'API
sessions
. -
stato
TabStatus facoltativo
Lo stato di caricamento della scheda.
-
titolo
stringa facoltativa
Il titolo della scheda. Questa proprietà è presente solo se il manifest dell'estensione include l'autorizzazione
"tabs"
. -
url
stringa facoltativa
L'ultimo URL committato del frame principale della scheda. Questa proprietà è presente solo se il manifest dell'estensione include l'autorizzazione
"tabs"
e può essere una stringa vuota se la scheda non è ancora stata confermata. Vedi ancheTab.pendingUrl
. -
larghezza
number facoltativo
La larghezza della scheda in pixel.
-
windowId
numero
L'ID della finestra che contiene la scheda.
TabStatus
Lo stato di caricamento della scheda.
Enum
"unloaded"
"loading"
"complete"
WindowType
Il tipo di finestra.
Enum
"normale"
"popup"
"panel"
"app"
"devtools"
ZoomSettings
Definisce come vengono gestite le modifiche dello zoom in una scheda e a quale ambito.
Proprietà
-
defaultZoomFactor
number facoltativo
Chrome 43 e versioni successiveUtilizzato per restituire il livello di zoom predefinito per la scheda corrente nelle chiamate a tabs.getZoomSettings.
-
modalità
ZoomSettingsMode facoltativo
Definisce il modo in cui vengono gestite le modifiche dello zoom, ovvero quale entità è responsabile della scalatura effettiva della pagina. Il valore predefinito è
automatic
. -
ambito
ZoomSettingsScope facoltativo
Definisce se le modifiche allo zoom vengono mantenute per l'origine della pagina o se vengono applicate solo in questa scheda. Il valore predefinito è
per-origin
in modalitàautomatic
eper-tab
in caso contrario.
ZoomSettingsMode
Definisce il modo in cui vengono gestite le modifiche dello zoom, ovvero quale entità è responsabile della scalatura effettiva della pagina. Il valore predefinito è automatic
.
Enum
"automatico"
Le modifiche allo zoom vengono gestite automaticamente dal browser.
"manual"
Sostituisce la gestione automatica delle modifiche dello zoom. L'evento onZoomChange
verrà comunque inviato ed è responsabilità dell'estensione ascoltarlo e ridimensionare manualmente la pagina. Questa modalità non supporta lo zoom per-origin
e, pertanto, ignora l'impostazione di zoom scope
e presuppone per-tab
.
"disabled"
Disattiva tutto lo zoom nella scheda. La scheda torna al livello di zoom predefinito e tutte le modifiche allo zoom tentate vengono ignorate.
ZoomSettingsScope
Definisce se le modifiche allo zoom vengono mantenute per l'origine della pagina o se vengono applicate solo in questa scheda. Il valore predefinito è per-origin
in modalità automatic
e per-tab
in caso contrario.
Enum
"Per origine"
Le modifiche allo zoom vengono mantenute nell'origine della pagina con lo zoom, ovvero tutte le altre schede che hanno eseguito la navigazione nella stessa origine vengono visualizzate con lo zoom. Inoltre, le modifiche allo zoom per-origin
vengono salvate con l'origine, il che significa che quando passi ad altre pagine nella stessa origine, tutte vengono visualizzate con lo stesso fattore di zoom. L'ambito per-origin
è disponibile solo in modalità automatic
.
"Per scheda"
Le modifiche allo zoom vengono applicate solo in questa scheda e le modifiche allo zoom in altre schede non influiscono sullo zoom di questa scheda. Inoltre, le modifiche allo zoom di per-tab
vengono reimpostate durante la navigazione; quando navighi in una scheda, le pagine vengono sempre caricate con i relativi fattori di zoom di per-origin
.
Proprietà
MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND
Il numero massimo di volte in cui captureVisibleTab
può essere chiamato al secondo. captureVisibleTab
è costoso e non deve essere chiamato troppo spesso.
Valore
2
TAB_ID_NONE
Un ID che rappresenta l'assenza di una scheda del browser.
Valore
-1
TAB_INDEX_NONE
Un indice che rappresenta l'assenza di un indice di scheda in una barra_schede.
Valore
-1
Metodi
captureVisibleTab()
chrome.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
callback?: function,
)
Acquisisce l'area visibile della scheda attualmente attiva nella finestra specificata. Per chiamare questo metodo, l'estensione deve disporre dell'autorizzazione <all_urls> o dell'autorizzazione activeTab. Oltre ai siti a cui le estensioni possono accedere normalmente, questo metodo consente alle estensioni di acquisire siti sensibili altrimenti soggetti a limitazioni, tra cui pagine con schema chrome:, pagine di altre estensioni e URL data:. Questi siti sensibili possono essere acquisiti solo con l'autorizzazione activeTab. Gli URL dei file possono essere acquisiti solo se all'estensione è stato concesso l'accesso ai file.
Parametri
-
windowId
number facoltativo
La finestra di destinazione. Il valore predefinito è la finestra corrente.
-
opzioni
ImageDetails facoltativo
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(dataUrl: string) => void
-
dataUrl
stringa
Un URL dati che codifica un'immagine dell'area visibile della scheda acquisita. Può essere assegnato alla proprietà "src" di un elemento HTML
img
per la visualizzazione.
-
Resi
-
Promise<string>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
)
Si connette agli script dei contenuti nella scheda specificata. L'evento runtime.onConnect
viene attivato in ogni script di contenuti in esecuzione nella scheda specificata per l'estensione corrente. Per maggiori dettagli, consulta Messaging di Content Script.
Parametri
-
tabId
numero
-
connectInfo
Oggetto facoltativo
-
documentId
stringa facoltativa
Chrome 106 e versioni successiveApri una porta a un documento specifico identificato da
documentId
anziché a tutti i frame della scheda. -
frameId
number facoltativo
Apri una porta a un frame specifico identificato da
frameId
anziché a tutti i frame della scheda. -
nome
stringa facoltativa
Viene passato a onConnect per gli script dei contenuti che ascoltano l'evento di connessione.
-
Resi
-
Una porta che può essere utilizzata per comunicare con gli script dei contenuti in esecuzione nella scheda specificata. L'evento
runtime.Port
della porta viene attivato se la scheda si chiude o non esiste.
create()
chrome.tabs.create(
createProperties: object,
callback?: function,
)
Crea una nuova scheda.
Parametri
-
createProperties
oggetto
-
attivo
booleano facoltativo
Indica se la scheda deve diventare la scheda attiva nella finestra. Non influisce sull'eventuale attribuzione del focus alla finestra (vedi
windows.update
). Il valore predefinito ètrue
. -
indice
number facoltativo
La posizione che deve assumere la scheda nella finestra. Il valore fornito è compreso tra zero e il numero di schede nella finestra.
-
openerTabId
number facoltativo
L'ID della scheda che ha aperto questa scheda. Se specificato, la scheda di apertura deve trovarsi nella stessa finestra della scheda appena creata.
-
fissata
booleano facoltativo
Indica se la scheda deve essere bloccata. Il valore predefinito è
false
-
selezionato
booleano facoltativo
ObsoletoUtilizza active.
Indica se la scheda deve diventare la scheda selezionata nella finestra. Il valore predefinito è
true
-
url
stringa facoltativa
L'URL a cui passare inizialmente nella scheda. Gli URL completi devono includere uno schema (ad es. "http://www.google.com", non "www.google.com"). Gli URL relativi sono relativi alla pagina corrente all'interno dell'estensione. Il valore predefinito è la pagina Nuova scheda.
-
windowId
number facoltativo
La finestra in cui creare la nuova scheda. Il valore predefinito è la finestra corrente.
-
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(tab: Tab) => void
-
tab
La scheda creata.
-
Resi
-
Promise<Tab>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
callback?: function,
)
Rileva la lingua principale dei contenuti in una scheda.
Parametri
-
tabId
number facoltativo
Per impostazione predefinita è la scheda attiva della finestra corrente.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(language: string) => void
-
language
stringa
Un codice lingua ISO come
en
ofr
. Per un elenco completo delle lingue supportate da questo metodo, consulta kLanguageInfoTable. Le colonne dalla seconda alla quarta vengono controllate e viene restituito il primo valore diverso da NULL, ad eccezione del cinese semplificato per il quale viene restituitozh-CN
. Per una lingua sconosciuta/non definita, viene restituitound
.
-
Resi
-
Promise<string>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
discard()
chrome.tabs.discard(
tabId?: number,
callback?: function,
)
Elimina una scheda dalla memoria. Le schede eliminate rimangono visibili nella barra delle schede e vengono ricaricate quando vengono attivate.
Parametri
-
tabId
number facoltativo
L'ID della scheda da eliminare. Se specificato, la scheda viene ignorata, a meno che non sia attiva o già ignorata. Se omesso, il browser ignora la scheda meno importante. L'operazione può non riuscire se non esistono schede ignorabili.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(tab?: Tab) => void
-
tab
Tab facoltativo
La scheda eliminata, se l'eliminazione è andata a buon fine; indefinito in caso contrario.
-
Resi
-
Promise<Tab | undefined>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
duplicate()
chrome.tabs.duplicate(
tabId: number,
callback?: function,
)
Duplica una scheda.
Parametri
-
tabId
numero
L'ID della scheda da duplicare.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(tab?: Tab) => void
Resi
-
Promise<Tab | undefined>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
get()
chrome.tabs.get(
tabId: number,
callback?: function,
)
Recupera i dettagli della scheda specificata.
Parametri
-
tabId
numero
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(tab: Tab) => void
-
tab
-
Resi
-
Promise<Tab>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
getCurrent()
chrome.tabs.getCurrent(
callback?: function,
)
Recupera la scheda da cui viene effettuata la chiamata allo script. Restituisce undefined
se viene chiamato da un contesto diverso da una scheda (ad esempio una pagina in background o una visualizzazione popup).
Parametri
Resi
-
Promise<Tab | undefined>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
getZoom()
chrome.tabs.getZoom(
tabId?: number,
callback?: function,
)
Recupera il fattore di zoom corrente di una scheda specificata.
Parametri
-
tabId
number facoltativo
L'ID della scheda da cui ottenere il fattore di zoom corrente. Il valore predefinito è la scheda attiva della finestra corrente.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(zoomFactor: number) => void
-
zoomFactor
numero
Il fattore di zoom attuale della scheda.
-
Resi
-
Promise<number>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
callback?: function,
)
Recupera le impostazioni di zoom attuali di una scheda specificata.
Parametri
-
tabId
number facoltativo
L'ID della scheda da cui recuperare le impostazioni di zoom correnti. Il valore predefinito è la scheda attiva della finestra corrente.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(zoomSettings: ZoomSettings) => void
-
zoomSettings
Le impostazioni di zoom attuali della scheda.
-
Resi
-
Promise<ZoomSettings>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
goBack()
chrome.tabs.goBack(
tabId?: number,
callback?: function,
)
Torna alla pagina precedente, se disponibile.
Parametri
-
tabId
number facoltativo
L'ID della scheda a cui tornare. Per impostazione predefinita, viene utilizzata la scheda selezionata della finestra corrente.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
goForward()
chrome.tabs.goForward(
tabId?: number,
callback?: function,
)
Vai alla pagina successiva, se disponibile.
Parametri
-
tabId
number facoltativo
L'ID della scheda per andare avanti. Il valore predefinito è la scheda selezionata della finestra corrente.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
group()
chrome.tabs.group(
options: object,
callback?: function,
)
Aggiunge una o più schede a un gruppo specificato oppure, se non viene specificato alcun gruppo, aggiunge le schede specificate a un gruppo appena creato.
Parametri
-
opzioni
oggetto
-
createProperties
Oggetto facoltativo
Configurazioni per la creazione di un gruppo. Non può essere utilizzato se groupId è già specificato.
-
windowId
number facoltativo
La finestra del nuovo gruppo. Il valore predefinito è la finestra corrente.
-
-
groupId
number facoltativo
L'ID del gruppo a cui aggiungere le schede. Se non specificato, verrà creato un nuovo gruppo.
-
tabIds
numero | [numero, ...numero[]]
L'ID scheda o l'elenco di ID scheda da aggiungere al gruppo specificato.
-
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(groupId: number) => void
-
groupId
numero
L'ID del gruppo a cui sono state aggiunte le schede.
-
Resi
-
Promise<number>
Le promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
highlight()
chrome.tabs.highlight(
highlightInfo: object,
callback?: function,
)
Mette in evidenza le schede specificate e si concentra sulla prima del gruppo. Non farà nulla se la scheda specificata è attualmente attiva.
Parametri
-
highlightInfo
oggetto
-
schede
number | number[]
Uno o più indici di tabulazione da evidenziare.
-
windowId
number facoltativo
La finestra che contiene le schede.
-
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(window: Window) => void
-
finestra
Contiene i dettagli della finestra di cui sono state evidenziate le schede.
-
Resi
-
Promise<windows.Window>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
move()
chrome.tabs.move(
tabIds: number | number[],
moveProperties: object,
callback?: function,
)
Sposta una o più schede in una nuova posizione all'interno della finestra o in una nuova finestra. Tieni presente che le schede possono essere spostate solo verso e da finestre normali (window.type === "normal").
Parametri
-
tabIds
number | number[]
L'ID scheda o l'elenco di ID scheda da spostare.
-
moveProperties
oggetto
-
indice
numero
La posizione in cui spostare la finestra. Usa
-1
per posizionare la scheda alla fine della finestra. -
windowId
number facoltativo
Per impostazione predefinita è la finestra in cui si trova attualmente la scheda.
-
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(tabs: Tab | Tab[]) => void
Resi
-
Chrome 88 e versioni successive
Le promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
query()
chrome.tabs.query(
queryInfo: object,
callback?: function,
)
Recupera tutte le schede con le proprietà specificate o tutte le schede se non vengono specificate proprietà.
Parametri
-
queryInfo
oggetto
-
attivo
booleano facoltativo
Indica se le schede sono attive nelle relative finestre.
-
audible
booleano facoltativo
Chrome 45 e versioni successiveIndica se le schede sono udibili.
-
autoDiscardable
booleano facoltativo
Chrome 54 e versioni successiveIndica se le schede possono essere eliminate automaticamente dal browser quando le risorse sono scarse.
-
currentWindow
booleano facoltativo
Indica se le schede si trovano nella finestra corrente.
-
ignorato
booleano facoltativo
Chrome 54 e versioni successiveIndica se le schede vengono eliminate. Una scheda eliminata è una scheda i cui contenuti sono stati scaricati dalla memoria, ma che è ancora visibile nella barra delle schede. I contenuti vengono ricaricati alla successiva attivazione.
-
bloccato
booleano facoltativo
In attesaIndica se le schede sono bloccate. Una scheda bloccata non può eseguire attività, inclusi gestori di eventi o timer. È visibile nella barra delle schede e i relativi contenuti vengono caricati in memoria. Viene sbloccato al momento dell'attivazione.
-
groupId
number facoltativo
Chrome 88 e versioni successiveL'ID del gruppo in cui si trovano le schede o
tabGroups.TAB_GROUP_ID_NONE
per le schede non raggruppate. -
in evidenza
booleano facoltativo
Indica se le schede sono evidenziate.
-
indice
number facoltativo
La posizione delle schede all'interno delle finestre.
-
lastFocusedWindow
booleano facoltativo
Indica se le schede si trovano nell'ultima finestra attiva.
-
audio disattivato
booleano facoltativo
Chrome 45 e versioni successiveIndica se l'audio delle schede è disattivato.
-
fissata
booleano facoltativo
Indica se le schede sono bloccate.
-
stato
TabStatus facoltativo
Lo stato di caricamento della scheda.
-
titolo
stringa facoltativa
Corrispondenza dei titoli delle pagine a un pattern. Questa proprietà viene ignorata se l'estensione non dispone dell'autorizzazione
"tabs"
. -
url
stringa | stringa[] facoltativo
Associa le schede a uno o più pattern di URL. Gli identificatori dei frammenti non corrispondono. Questa proprietà viene ignorata se l'estensione non dispone dell'autorizzazione
"tabs"
. -
windowId
number facoltativo
L'ID della finestra principale o
windows.WINDOW_ID_CURRENT
per la finestra corrente. -
windowType
WindowType facoltativo
Il tipo di finestra in cui si trovano le schede.
-
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(result: Tab[]) => void
-
risultato
Tab[]
-
Resi
-
Promise<Tab[]>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
callback?: function,
)
Ricarica una scheda.
Parametri
-
tabId
number facoltativo
L'ID della scheda da ricaricare. Il valore predefinito è la scheda selezionata della finestra corrente.
-
reloadProperties
Oggetto facoltativo
-
bypassCache
booleano facoltativo
Indica se bypassare la memorizzazione nella cache locale. Il valore predefinito è
false
.
-
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
remove()
chrome.tabs.remove(
tabIds: number | number[],
callback?: function,
)
Chiude una o più schede.
Parametri
-
tabIds
number | number[]
L'ID scheda o l'elenco di ID scheda da chiudere.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
callback?: function,
)
Invia un singolo messaggio agli script dei contenuti nella scheda specificata, con un callback facoltativo da eseguire quando viene inviata una risposta. L'evento runtime.onMessage
viene attivato in ogni script di contenuti in esecuzione nella scheda specificata per l'estensione corrente.
Parametri
-
tabId
numero
-
messaggio
qualsiasi
Il messaggio da inviare. Questo messaggio deve essere un oggetto JSON.
-
opzioni
Oggetto facoltativo
-
documentId
stringa facoltativa
Chrome 106 e versioni successiveInvia un messaggio a un documento specifico identificato da
documentId
anziché a tutti i frame della scheda. -
frameId
number facoltativo
Invia un messaggio a un frame specifico identificato da
frameId
anziché a tutti i frame della scheda.
-
-
callback
function facoltativa
Chrome 99 e versioni successiveIl parametro
callback
ha il seguente aspetto:(response: any) => void
-
risposta
qualsiasi
L'oggetto della risposta JSON inviato dall'handler del messaggio. Se si verifica un errore durante la connessione alla scheda specificata, il callback viene chiamato senza argomenti e
runtime.lastError
viene impostato sul messaggio di errore.
-
Resi
-
Promise<any>
Chrome 99 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
callback?: function,
)
Aumenta lo zoom di una scheda specifica.
Parametri
-
tabId
number facoltativo
L'ID della scheda su cui applicare lo zoom. Per impostazione predefinita, viene utilizzata la scheda attiva della finestra corrente.
-
zoomFactor
numero
Il nuovo fattore di zoom. Un valore di
0
imposta la scheda sul fattore di zoom predefinito corrente. I valori maggiori di0
specificano un fattore di zoom (eventualmente non predefinito) per la scheda. -
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
callback?: function,
)
Imposta le impostazioni di zoom per una scheda specifica, che definiscono la modalità di gestione delle modifiche dello zoom. Queste impostazioni vengono reimpostate su quelle predefinite quando navighi nella scheda.
Parametri
-
tabId
number facoltativo
L'ID della scheda per cui modificare le impostazioni di zoom. Il valore predefinito è la scheda attiva della finestra corrente.
-
zoomSettings
Definisce come vengono gestite le modifiche dello zoom e a quale ambito.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
ungroup()
chrome.tabs.ungroup(
tabIds: number | [number, ...number[]],
callback?: function,
)
Rimuove una o più schede dai rispettivi gruppi. Se i gruppi diventano vuoti, vengono eliminati.
Parametri
-
tabIds
numero | [numero, ...numero[]]
L'ID scheda o l'elenco di ID scheda da rimuovere dai rispettivi gruppi.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Le promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
update()
chrome.tabs.update(
tabId?: number,
updateProperties: object,
callback?: function,
)
Modifica le proprietà di una scheda. Le proprietà non specificate in updateProperties
non vengono modificate.
Parametri
-
tabId
number facoltativo
Per impostazione predefinita, viene visualizzata la scheda selezionata della finestra corrente.
-
updateProperties
oggetto
-
attivo
booleano facoltativo
Indica se la scheda deve essere attiva. Non influisce sull'eventuale attribuzione del focus alla finestra (vedi
windows.update
). -
autoDiscardable
booleano facoltativo
Chrome 54 e versioni successiveIndica se la scheda deve essere eliminata automaticamente dal browser quando le risorse sono scarse.
-
in evidenza
booleano facoltativo
Aggiunge o rimuove la scheda dalla selezione corrente.
-
audio disattivato
booleano facoltativo
Chrome 45 e versioni successiveIndica se l'audio della scheda deve essere disattivato.
-
openerTabId
number facoltativo
L'ID della scheda che ha aperto questa scheda. Se specificata, la scheda dell'apri deve trovarsi nella stessa finestra di questa scheda.
-
fissata
booleano facoltativo
Indica se la scheda deve essere bloccata.
-
selezionato
booleano facoltativo
ObsoletoUtilizza highlighted.
Indica se la scheda deve essere selezionata.
-
url
stringa facoltativa
Un URL a cui passare nella scheda. Gli URL JavaScript non sono supportati; utilizza
scripting.executeScript
.
-
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(tab?: Tab) => void
Resi
-
Promise<Tab | undefined>
Chrome 88 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma i callback vengono forniti per la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo passato al callback.
Eventi
onActivated
chrome.tabs.onActivated.addListener(
callback: function,
)
Viene attivato quando la scheda attiva in una finestra cambia. Tieni presente che l'URL della scheda potrebbe non essere impostato al momento dell'attivazione di questo evento, ma puoi ascoltare gli eventi onUpdated per ricevere una notifica quando viene impostato un URL.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(activeInfo: object) => void
-
activeInfo
oggetto
-
tabId
numero
L'ID della scheda che è diventata attiva.
-
windowId
numero
L'ID della finestra in cui è stata modificata la scheda attiva.
-
-
onAttached
chrome.tabs.onAttached.addListener(
callback: function,
)
Viene attivato quando una scheda è collegata a una finestra, ad esempio perché è stata spostata da una finestra all'altra.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(tabId: number, attachInfo: object) => void
-
tabId
numero
-
attachInfo
oggetto
-
newPosition
numero
-
newWindowId
numero
-
-
onCreated
chrome.tabs.onCreated.addListener(
callback: function,
)
Viene attivato quando viene creata una scheda. Tieni presente che l'URL della scheda e l'appartenenza al gruppo di schede potrebbero non essere impostati al momento dell'attivazione di questo evento, ma puoi ascoltare gli eventi onUpdated per ricevere una notifica quando viene impostato un URL o la scheda viene aggiunta a un gruppo di schede.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(tab: Tab) => void
-
tab
-
onDetached
chrome.tabs.onDetached.addListener(
callback: function,
)
Viene attivato quando una scheda viene scollegata da una finestra, ad esempio perché è stata spostata da una finestra all'altra.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(tabId: number, detachInfo: object) => void
-
tabId
numero
-
detachInfo
oggetto
-
oldPosition
numero
-
oldWindowId
numero
-
-
onHighlighted
chrome.tabs.onHighlighted.addListener(
callback: function,
)
Viene attivato quando cambiano le schede evidenziate o selezionate in una finestra.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(highlightInfo: object) => void
-
highlightInfo
oggetto
-
tabIds
number[]
Tutte le schede evidenziate nella finestra.
-
windowId
numero
La finestra di cui sono state modificate le schede.
-
-
onMoved
chrome.tabs.onMoved.addListener(
callback: function,
)
Viene attivato quando una scheda viene spostata all'interno di una finestra. Viene attivato un solo evento di spostamento, che rappresenta la scheda spostata direttamente dall'utente. Gli eventi di spostamento non vengono attivati per le altre schede che devono spostarsi in risposta alla scheda spostata manualmente. Questo evento non viene attivato quando una scheda viene spostata da una finestra all'altra. Per maggiori dettagli, consulta tabs.onDetached
.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(tabId: number, moveInfo: object) => void
-
tabId
numero
-
moveInfo
oggetto
-
fromIndex
numero
-
toIndex
numero
-
windowId
numero
-
-
onRemoved
chrome.tabs.onRemoved.addListener(
callback: function,
)
Viene attivato quando una scheda viene chiusa.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(tabId: number, removeInfo: object) => void
-
tabId
numero
-
removeInfo
oggetto
-
isWindowClosing
booleano
True se la scheda è stata chiusa perché la finestra principale è stata chiusa.
-
windowId
numero
La finestra di cui è chiusa la scheda.
-
-
onReplaced
chrome.tabs.onReplaced.addListener(
callback: function,
)
Viene attivato quando una scheda viene sostituita da un'altra a causa del prerendering o della visualizzazione istantanea.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(addedTabId: number, removedTabId: number) => void
-
addedTabId
numero
-
removedTabId
numero
-
onUpdated
chrome.tabs.onUpdated.addListener(
callback: function,
)
Viene attivato quando una scheda viene aggiornata.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(tabId: number, changeInfo: object, tab: Tab) => void
-
tabId
numero
-
changeInfo
oggetto
-
audible
booleano facoltativo
Chrome 45 e versioni successiveIl nuovo stato udibile della scheda.
-
autoDiscardable
booleano facoltativo
Chrome 54 e versioni successiveIl nuovo stato di eliminazione automatica della scheda.
-
ignorato
booleano facoltativo
Chrome 54 e versioni successiveIl nuovo stato eliminato della scheda.
-
favIconUrl
stringa facoltativa
Il nuovo URL della favicon della scheda.
-
bloccato
booleano facoltativo
In attesaIl nuovo stato di blocco della scheda.
-
groupId
number facoltativo
Chrome 88 e versioni successiveIl nuovo gruppo della scheda.
-
mutedInfo
MutedInfo facoltativo
Chrome 46 e versioni successiveIl nuovo stato di disattivazione audio della scheda e il motivo della modifica.
-
fissata
booleano facoltativo
Il nuovo stato bloccato della scheda.
-
stato
TabStatus facoltativo
Lo stato di caricamento della scheda.
-
titolo
stringa facoltativa
Chrome 48 e versioni successiveIl nuovo titolo della scheda.
-
url
stringa facoltativa
L'URL della scheda, se è cambiato.
-
-
tab
-
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
Viene attivato quando viene aumentato lo zoom di una scheda.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
oggetto
-
newZoomFactor
numero
-
oldZoomFactor
numero
-
tabId
numero
-
zoomSettings
-
-