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 la manipolazione e la gestione delle 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, ricaricamento di una scheda, navigazione verso un altro URL e così via.
Esistono tre autorizzazioni di cui gli sviluppatori devono essere a conoscenza quando lavorano con l'API Tabs.
- L'autorizzazione "tabs"
Questa autorizzazione non concede l'accesso allo spazio dei nomi
browser.tabs. Invece, concede a un'estensione la possibilità di chiamaretabs.query()per quattro proprietà sensibili nelle istanzetabs.Tab:url,pendingUrl,titleefavIconUrl.{ "name": "My extension", ... "permissions": [ "tabs" ], ... }- Autorizzazioni host
Le autorizzazioni host consentono a un'estensione di leggere ed eseguire query su quattro proprietà sensibili di una scheda corrispondente:
tabs.Tab. Possono anche interagire direttamente con le schede corrispondenti utilizzando metodi cometabs.captureVisibleTab(),scripting.executeScript(),scripting.insertCSS()escripting.removeCSS().{ "name": "My extension", ... "host_permissions": [ "http://*/*", "https://*/*" ], ... }- L'autorizzazione "activeTab"
activeTabconcede a un'estensione l'autorizzazione host temporanea per la scheda corrente in risposta a una chiamata dell'utente. A differenza delle autorizzazioni host,activeTabnon attiva alcun avviso.{ "name": "My extension", ... "permissions": [ "activeTab" ], ... }
Casi d'uso
Le sezioni seguenti mostrano alcuni casi d'uso comuni.
Apri una pagina di estensione in una nuova scheda
Un pattern comune per le estensioni è l'apertura di una pagina di onboarding in una nuova scheda quando l'estensione viene installata. Il seguente esempio mostra come farlo.
background.js:
browser.runtime.onInstalled.addListener(({reason}) => {
if (reason === 'install') {
browser.tabs.create({
url: "onboarding.html"
});
}
});
Ottieni 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ù di recente, se non sono attive finestre di Chrome). In genere, questa può essere considerata 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 browser.tabs.query(queryOptions);
return tab;
}
function getCurrentTab(callback) {
let queryOptions = { active: true, lastFocusedWindow: true };
browser.tabs.query(queryOptions, ([tab]) => {
if (browser.runtime.lastError)
console.error(browser.runtime.lastError);
// `tab` will either be a `tabs.Tab` instance or `undefined`.
callback(tab);
});
}
Disattiva l'audio della scheda specificata
Questo esempio mostra come un'estensione può attivare/disattivare lo stato di disattivazione dell'audio per una determinata scheda.
async function toggleMuteState(tabId) {
const tab = await browser.tabs.get(tabId);
const muted = !tab.mutedInfo.muted;
await browser.tabs.update(tabId, {muted});
console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
}
function toggleMuteState(tabId) {
browser.tabs.get(tabId, async (tab) => {
let muted = !tab.mutedInfo.muted;
await browser.tabs.update(tabId, { muted });
console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
});
}
Sposta la scheda corrente nella prima posizione quando viene selezionata
Questo esempio mostra come spostare una scheda mentre è in corso o meno un trascinamento. Sebbene questo esempio utilizzi browser.tabs.move, puoi utilizzare lo stesso pattern di attesa per altre chiamate che modificano le schede mentre è in corso un trascinamento.
browser.tabs.onActivated.addListener(moveToFirstPosition);
async function moveToFirstPosition(activeInfo) {
try {
await browser.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);
}
}
}
browser.tabs.onActivated.addListener(moveToFirstPositionMV2);
function moveToFirstPositionMV2(activeInfo) {
browser.tabs.move(activeInfo.tabId, { index: 0 }, () => {
if (browser.runtime.lastError) {
const error = browser.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.");
}
});
}
Passa 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 dei contenuti in schede del browser specifiche utilizzando tabs.sendMessage().
function sendMessageToActiveTab(message) {
const [tab] = await browser.tabs.query({ active: true, lastFocusedWindow: true });
const response = await browser.tabs.sendMessage(tab.id, message);
// TODO: Do something with the response.
}
Esempi di estensioni
Per altre demo delle estensioni dell'API Tabs, esplora una delle seguenti opzioni:
Tipi
MutedInfo
Lo stato di disattivazione dell'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 l'ultimo cambiamento dello stato di disattivazione dell'audio non è stato causato da un'estensione.
-
audio disattivato
booleano
Indica se l'audio della scheda è disattivato (non è possibile riprodurre l'audio). La scheda potrebbe essere disattivata anche se non ha riprodotto o non sta riproducendo audio. Equivale a indicare se l'indicatore audio "disattivato" è visualizzato.
-
reason
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.
Enum
"user"
Un'azione di input dell'utente ha impostato lo stato di disattivazione dell'audio.
"capture"
È stata avviata l'acquisizione della scheda, forzando una modifica dello stato di disattivazione dell'audio.
"extension"
Un'estensione, identificata dal campo extensionId, ha impostato lo stato di disattivazione dell'audio.
Tab
Proprietà
-
attivo
booleano
Indica se la scheda è attiva nella sua finestra. Non significa necessariamente che la finestra sia attiva.
-
audible
boolean facoltativo
Chrome 45+ browser.* da Chrome 148Se la scheda ha prodotto suoni negli ultimi secondi (ma potrebbe non essere udibile se è anche disattivata). Equivale a indicare se l'indicatore "audio dello speaker" è visualizzato.
-
autoDiscardable
booleano
Chrome 54 e versioni successive browser.* da Chrome 148Se la scheda può essere ignorata automaticamente dal browser quando le risorse sono insufficienti.
-
ignorato
booleano
Chrome 54 e versioni successive browser.* da Chrome 148Indica se la scheda è stata ignorata. Una scheda ignorata è una scheda i cui contenuti sono stati scaricati dalla memoria, ma sono ancora visibili nella tabstrip. I contenuti vengono ricaricati alla successiva attivazione.
-
favIconUrl
stringa facoltativa
L'URL della favicon della scheda. Questa proprietà è presente solo se l'estensione dispone dell'autorizzazione
"tabs"o delle autorizzazioni host per la pagina. Può anche essere una stringa vuota se la scheda è in fase di caricamento. -
bloccato
booleano
Chrome 132+ browser.* da Chrome 148Indica se la scheda è bloccata. Una scheda bloccata non può eseguire attività, inclusi gestori di eventi o timer. È visibile nella tabstrip e i suoi contenuti vengono caricati in memoria. Viene sbloccato al momento dell'attivazione.
-
groupId
numero
Chrome 88+ browser.* da Chrome 148L'ID del gruppo a cui appartiene la scheda.
-
altezza
number optional
L'altezza della scheda in pixel.
-
in evidenza
booleano
Indica se la scheda è evidenziata.
-
id
number optional
L'ID della scheda. Gli ID scheda sono univoci all'interno di una sessione del browser. In alcune circostanze, a una scheda potrebbe non essere assegnato un ID, ad esempio quando si eseguono query su schede esterne utilizzando l'API
sessions, nel qual caso potrebbe essere presente un ID sessione. L'ID scheda può anche essere impostato suchrome.tabs.TAB_ID_NONEper le app e le finestre di DevTools. -
incognito
booleano
Indica se la scheda si trova in una finestra Incognito.
-
indice
numero
L'indice in base zero della scheda all'interno della finestra.
-
lastAccessed
numero
Chrome 121+ browser.* da Chrome 148L'ultima volta che la scheda è diventata attiva nella sua finestra, espressa come numero di millisecondi dall'epoca.
-
mutedInfo
MutedInfo facoltativo
Chrome 46 e versioni successive browser.* da Chrome 148Lo stato di disattivazione dell'audio della scheda e il motivo dell'ultima modifica dello stato.
-
openerTabId
number optional
L'ID della scheda che ha aperto questa scheda, se presente. Questa proprietà è presente solo se la scheda di apertura esiste ancora.
-
pendingUrl
stringa facoltativa
Chrome 79 e versioni successive browser.* da Chrome 148L'URL a cui la scheda sta navigando, prima che venga eseguito il commit. Questa proprietà è presente solo se l'estensione dispone dell'autorizzazione
"tabs"o delle autorizzazioni host per la pagina ed è presente una navigazione in attesa. -
sempre visibile
booleano
Indica se la scheda è bloccata.
-
selezionato
booleano
DeprecatoUtilizza
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. -
splitViewId
number optional
Chrome 140 e versioni successive browser.* da Chrome 148L'ID della visualizzazione divisa a cui appartiene la scheda.
-
stato
TabStatus facoltativo
Lo stato di caricamento della scheda.
-
titolo
stringa facoltativa
Il titolo della scheda. Questa proprietà è presente solo se l'estensione dispone dell'autorizzazione
"tabs"o delle autorizzazioni host per la pagina. -
url
stringa facoltativa
L'ultimo URL di cui è stato eseguito il commit del frame principale della scheda. Questa proprietà è presente solo se l'estensione dispone dell'autorizzazione
"tabs"o delle autorizzazioni host per la pagina. Può essere una stringa vuota se il commit della scheda non è ancora stato eseguito. Vedi ancheTab.pendingUrl. -
larghezza
number optional
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
"normal"
"popup"
"panel"
"app"
"devtools"
ZoomSettings
Definisce come vengono gestite le modifiche dello zoom in una scheda e in quale ambito.
Proprietà
-
defaultZoomFactor
number optional
Browser Chrome 43+ .* da Chrome 148Utilizzato 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 scalabilità 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 hanno effetto solo in questa scheda; il valore predefinito è
per-originin modalitàautomaticeper-tabin caso contrario.
ZoomSettingsMode
Definisce il modo in cui vengono gestite le modifiche dello zoom, ovvero quale entità è responsabile della scalabilità effettiva della pagina; il valore predefinito è automatic.
Enum
"automatic"
Le modifiche allo zoom vengono gestite automaticamente dal browser.
"manual"
Esegue l'override della gestione automatica delle modifiche dello zoom. L'evento onZoomChange verrà comunque inviato e l'estensione dovrà ascoltare questo evento e ridimensionare manualmente la pagina. Questa modalità non supporta lo zoom per-origin, pertanto ignora l'impostazione di zoom scope e presuppone per-tab.
"disabled"
Disattiva 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 hanno effetto solo in questa scheda; il valore predefinito è per-origin in modalità automatic e per-tab in caso contrario.
Enum
"per-origin"
Le modifiche allo zoom vengono mantenute nell'origine della pagina ingrandita, ovvero vengono ingrandite anche tutte le altre schede che hanno raggiunto la stessa origine. Inoltre, le modifiche allo zoom di per-origin vengono salvate con l'origine, il che significa che quando si passa ad altre pagine della stessa origine, lo zoom viene applicato a tutte con lo stesso fattore di zoom. L'ambito per-origin è disponibile solo in modalità automatic.
"per-tab"
Le modifiche allo zoom hanno effetto 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; la navigazione in una scheda carica sempre le pagine 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
SPLIT_VIEW_ID_NONE
Un ID che rappresenta l'assenza di una scheda divisa.
Valore
-1
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 schede in un tab_strip.
Valore
-1
Metodi
captureVisibleTab()
browser.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
): Promise<string>
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 normalmente accedere, questo metodo consente alle estensioni di acquisire siti sensibili che altrimenti sono limitati, tra cui le pagine con schema chrome:, le pagine di altre estensioni e gli 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 optional
La finestra target. Il valore predefinito è la finestra corrente.
-
opzioni
ImageDetails facoltativo
Resi
-
Promise<string>
Chrome 88+ browser.* da Chrome 148
connect()
browser.tabs.connect(
tabId: number,
connectInfo?: object,
): runtime.Port
Si connette agli script dei contenuti nella scheda specificata. L'evento runtime.onConnect viene attivato in ogni script dei contenuti in esecuzione nella scheda specificata per l'estensione corrente. Per maggiori dettagli, consulta la sezione Messaggistica degli script dei contenuti.
Parametri
-
tabId
numero
-
connectInfo
object facoltativo
-
documentId
stringa facoltativa
Chrome 106+ browser.* da Chrome 148Apri una porta a un documento specifico identificato da
documentIdanziché a tutti i frame della scheda. -
frameId
number optional
Apri una porta a un frame specifico identificato da
frameIdanziché a tutti i frame della scheda. -
nome
stringa facoltativa
Viene passato a onConnect per gli script di contenuti che sono in ascolto dell'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.Portdella porta viene attivato se la scheda si chiude o non esiste.
Parametri
-
createProperties
oggetto
-
attivo
boolean facoltativo
Indica se la scheda deve diventare la scheda attiva nella finestra. Non influisce sulla messa a fuoco della finestra (vedi
windows.update). Il valore predefinito ètrue. -
indice
number optional
La posizione che la scheda deve assumere nella finestra. Il valore fornito è limitato tra zero e il numero di schede nella finestra.
-
openerTabId
number optional
L'ID della scheda che ha aperto questa scheda. Se specificata, la scheda di apertura deve trovarsi nella stessa finestra della scheda appena creata.
-
sempre visibile
boolean facoltativo
Indica se la scheda deve essere bloccata. Il valore predefinito è
false -
selezionato
boolean facoltativo
DeprecatoUtilizza active.
Indica se la scheda deve diventare la scheda selezionata nella finestra. Il valore predefinito è
true -
splitWithTabId
number optional
Chrome 155+L'ID di una scheda esistente con cui creare una visualizzazione divisa. Se specificata, la scheda di suddivisione deve soddisfare le seguenti condizioni:
- Non deve essere una scheda già divisa.
- Deve trovarsi nella stessa finestra della scheda appena creata.
- Se
windowIdè specificato, deve corrispondere all'ID finestra della scheda con cui è stata eseguita la suddivisione. - Se
indexè specificato, deve essere un indice adiacente alla scheda con cui viene eseguita la suddivisione e influirà sul posizionamento relativo della scheda appena creata.
-
url
stringa facoltativa
L'URL a cui indirizzare inizialmente la 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 optional
La finestra in cui creare la nuova scheda. Il valore predefinito è la finestra corrente.
-
Resi
-
Promise<Tab>
Chrome 88+ browser.* da Chrome 148
createSplit()
browser.tabs.createSplit(
tabIds: [number, number],
): Promise<number>
Divide due schede esistenti in una visualizzazione divisa.
Parametri
-
tabIds
[number, number]
Un array di esattamente due ID scheda da accoppiare in una visualizzazione divisa. Tutte le schede devono soddisfare le seguenti condizioni:
Devono essere adiacenti. Non devono essere già in una visualizzazione divisa. Devono avere stati
windowId,pinnedegroupIdcorrispondenti.
Resi
-
Promise<number>
detectLanguage()
browser.tabs.detectLanguage(
tabId?: number,
): Promise<string>
Rileva la lingua principale dei contenuti in una scheda.
Parametri
-
tabId
number optional
Per impostazione predefinita, la scheda attiva della finestra corrente.
Resi
-
Promise<string>
Chrome 88+ browser.* da Chrome 148
discard()
browser.tabs.discard(
tabId?: number,
): Promise<Tab | undefined>
Elimina una scheda dalla memoria. Le schede ignorate sono ancora visibili nella tabstrip e vengono ricaricate quando vengono attivate.
Parametri
-
tabId
number optional
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 elimina la scheda meno importante. Questa operazione potrebbe non riuscire se non esistono schede eliminabili.
Resi
-
Promise<Tab | undefined>
Chrome 88+ browser.* da Chrome 148Viene risolta al termine dell'operazione.
Parametri
-
tabId
numero
L'ID della scheda da duplicare.
Resi
-
Promise<Tab | undefined>
Chrome 88+ browser.* da Chrome 148
Parametri
-
tabId
numero
Resi
-
Promise<Tab>
Chrome 88+ browser.* da Chrome 148
getCurrent()
browser.tabs.getCurrent(): Promise<Tab | undefined>
Recupera la scheda da cui viene effettuata la chiamata dello script. Restituisce undefined se viene chiamata da un contesto non di scheda (ad esempio, una pagina in background o una visualizzazione popup).
Resi
-
Promise<Tab | undefined>
Chrome 88+ browser.* da Chrome 148
getZoom()
browser.tabs.getZoom(
tabId?: number,
): Promise<number>
Recupera il fattore di zoom corrente di una scheda specificata.
Parametri
-
tabId
number optional
L'ID della scheda da cui ottenere il fattore di zoom corrente; il valore predefinito è la scheda attiva della finestra corrente.
Resi
-
Promise<number>
Chrome 88+ browser.* da Chrome 148Risolve con il fattore di zoom corrente della scheda dopo che è stato recuperato.
getZoomSettings()
browser.tabs.getZoomSettings(
tabId?: number,
): Promise<ZoomSettings>
Recupera le impostazioni di zoom attuali di una scheda specificata.
Parametri
-
tabId
number optional
L'ID della scheda da cui recuperare le impostazioni di zoom correnti; il valore predefinito è la scheda attiva della finestra corrente.
Resi
-
Promise<ZoomSettings>
Chrome 88+ browser.* da Chrome 148Restituisce le impostazioni di zoom correnti della scheda.
goBack()
browser.tabs.goBack(
tabId?: number,
): Promise<void>
Torna alla pagina precedente, se disponibile.
Parametri
-
tabId
number optional
L'ID della scheda a cui tornare; il valore predefinito è la scheda selezionata della finestra corrente.
Resi
-
Promise<void>
Chrome 88+ browser.* da Chrome 148
goForward()
browser.tabs.goForward(
tabId?: number,
): Promise<void>
Vai alla pagina successiva, se disponibile.
Parametri
-
tabId
number optional
L'ID della scheda in cui andare avanti; il valore predefinito è la scheda selezionata della finestra corrente.
Resi
-
Promise<void>
Chrome 88+ browser.* da Chrome 148
group()
browser.tabs.group(
options: object,
): Promise<number>
Aggiunge una o più schede a un gruppo specificato o, se non viene specificato alcun gruppo, aggiunge le schede indicate a un gruppo appena creato.
Parametri
-
opzioni
oggetto
-
createProperties
object facoltativo
Configurazioni per la creazione di un gruppo. Non può essere utilizzato se groupId è già specificato.
-
windowId
number optional
La finestra del nuovo gruppo. Per impostazione predefinita, viene utilizzata la finestra corrente.
-
-
groupId
number optional
L'ID del gruppo a cui aggiungere le schede. Se non viene specificato, verrà creato un nuovo gruppo.
-
tabIds
number | [number, …number[]]
L'ID scheda o l'elenco di ID scheda da aggiungere al gruppo specificato.
-
Resi
-
Promise<number>
highlight()
browser.tabs.highlight(
highlightInfo: object,
): Promise<windows.Window>
Evidenzia le schede specificate e si concentra sulla prima del gruppo. Se la scheda specificata è attualmente attiva, non succederà nulla.
Parametri
-
highlightInfo
oggetto
-
schede
number | number[]
Uno o più indici di schede da evidenziare.
-
windowId
number optional
La finestra che contiene le schede.
-
Resi
-
Promise<windows.Window>
Chrome 88+ browser.* da Chrome 148
move()
browser.tabs.move(
tabIds: number | number[],
moveProperties: object,
): Promise<Tab | Tab[]>
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 da e verso 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. Utilizza
-1per posizionare la scheda alla fine della finestra. -
windowId
number optional
Per impostazione predefinita, viene utilizzata la finestra in cui si trova attualmente la scheda.
-
query()
browser.tabs.query(
queryInfo: object,
): Promise<Tab[]>
Recupera tutte le schede con le proprietà specificate o tutte le schede se non sono specificate proprietà.
Parametri
-
queryInfo
oggetto
-
attivo
boolean facoltativo
Se le schede sono attive nelle relative finestre.
-
audible
boolean facoltativo
Chrome 45+ browser.* da Chrome 148Indica se le schede sono udibili.
-
autoDiscardable
boolean facoltativo
Chrome 54 e versioni successive browser.* da Chrome 148Specifica se le schede possono essere ignorate automaticamente dal browser quando le risorse sono insufficienti.
-
currentWindow
boolean facoltativo
Se le schede si trovano nella finestra corrente.
-
ignorato
boolean facoltativo
Chrome 54 e versioni successive browser.* da Chrome 148Se le schede vengono ignorate. Una scheda ignorata è una scheda i cui contenuti sono stati scaricati dalla memoria, ma sono ancora visibili nella tabstrip. I contenuti vengono ricaricati alla successiva attivazione.
-
bloccato
boolean facoltativo
Chrome 132+ browser.* da Chrome 148Se le schede sono bloccate. Una scheda bloccata non può eseguire attività, inclusi gestori di eventi o timer. È visibile nella tabstrip e i suoi contenuti vengono caricati in memoria. Viene sbloccato al momento dell'attivazione.
-
groupId
number optional
Chrome 88+ browser.* da Chrome 148L'ID del gruppo in cui si trovano le schede o
tabGroups.TAB_GROUP_ID_NONEper le schede non raggruppate. -
in evidenza
boolean facoltativo
Indica se le schede sono evidenziate.
-
indice
number optional
La posizione delle schede all'interno delle finestre.
-
lastFocusedWindow
boolean facoltativo
Indica se le schede si trovano nell'ultima finestra attiva.
-
audio disattivato
boolean facoltativo
Chrome 45+ browser.* da Chrome 148Se l'audio delle schede è disattivato.
-
sempre visibile
boolean facoltativo
Se le schede sono bloccate.
-
splitViewId
number optional
Chrome 140 e versioni successive browser.* da Chrome 148L'ID della visualizzazione divisa in cui si trovano le schede o
tabs.SPLIT_VIEW_ID_NONEper le schede che non si trovano in una visualizzazione divisa. -
stato
TabStatus facoltativo
Lo stato di caricamento della scheda.
-
titolo
stringa facoltativa
Confronta i titoli delle pagine con un pattern. Questa proprietà viene ignorata se l'estensione non dispone dell'autorizzazione
"tabs"o delle autorizzazioni host per la pagina. -
url
string | string[] facoltativo
Trova le schede corrispondenti a uno o più pattern URL. Gli identificatori di frammento non vengono abbinati. Questa proprietà viene ignorata se l'estensione non dispone dell'autorizzazione
"tabs"o delle autorizzazioni host per la pagina. -
windowId
number optional
L'ID della finestra principale o
windows.WINDOW_ID_CURRENTper la finestra corrente. -
windowType
WindowType facoltativo
Il tipo di finestra in cui si trovano le schede.
-
Resi
-
Promise<Tab[]>
Chrome 88+ browser.* da Chrome 148
reload()
browser.tabs.reload(
tabId?: number,
reloadProperties?: object,
): Promise<void>
Ricarica una scheda.
Parametri
-
tabId
number optional
L'ID della scheda da ricaricare; il valore predefinito è la scheda selezionata della finestra corrente.
-
reloadProperties
object facoltativo
-
bypassCache
boolean facoltativo
Se ignorare la memorizzazione nella cache locale. Il valore predefinito è
false.
-
Resi
-
Promise<void>
Chrome 88+ browser.* da Chrome 148
remove()
browser.tabs.remove(
tabIds: number | number[],
): Promise<void>
Chiude una o più schede.
Parametri
-
tabIds
number | number[]
L'ID scheda o l'elenco di ID scheda da chiudere.
Resi
-
Promise<void>
Chrome 88+ browser.* da Chrome 148
sendMessage()
browser.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
): Promise<any>
Invia un singolo messaggio agli script dei contenuti nella scheda specificata. L'evento runtime.onMessage viene attivato in ogni script dei 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 convertibile in JSON.
-
opzioni
object facoltativo
-
documentId
stringa facoltativa
Chrome 106+ browser.* da Chrome 148Invia un messaggio a un documento specifico identificato da
documentIdanziché a tutti i frame della scheda. -
frameId
number optional
Invia un messaggio a un frame specifico identificato da
frameIdanziché a tutti i frame della scheda.
-
Resi
-
Promise<any>
Browser Chrome 99 e versioni successive .* da Chrome 148Promise che si risolve con la risposta dello script dei contenuti. Se si verifica un errore durante la connessione alla scheda specificata, la promise verrà rifiutata.
setZoom()
browser.tabs.setZoom(
tabId?: number,
zoomFactor: number,
): Promise<void>
Esegue lo zoom di una scheda specificata.
Parametri
-
tabId
number optional
L'ID della scheda da ingrandire; il valore predefinito è la scheda attiva della finestra corrente.
-
zoomFactor
numero
Il nuovo fattore di zoom. Un valore pari a
0imposta la scheda sul fattore di zoom predefinito corrente. I valori superiori a0specificano un fattore di zoom (eventualmente non predefinito) per la scheda.
Resi
-
Promise<void>
Chrome 88+ browser.* da Chrome 148Si risolve dopo la modifica del fattore di zoom.
setZoomSettings()
browser.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
): Promise<void>
Imposta le impostazioni di zoom per una scheda specificata, che definiscono il modo in cui vengono gestite le modifiche dello zoom. Queste impostazioni vengono ripristinate ai valori predefiniti quando si naviga nella scheda.
Parametri
-
tabId
number optional
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 in quale ambito.
Resi
-
Promise<void>
Chrome 88+ browser.* da Chrome 148Si risolve dopo la modifica delle impostazioni di zoom.
ungroup()
browser.tabs.ungroup(
tabIds: number | [number, ...number[]],
): Promise<void>
Rimuove una o più schede dai rispettivi gruppi. Se un gruppo diventa vuoto, viene eliminato.
Parametri
-
tabIds
number | [number, …number[]]
L'ID scheda o l'elenco di ID scheda da rimuovere dai rispettivi gruppi.
Resi
-
Promise<void>
unsplit()
browser.tabs.unsplit(
splitViewId: number,
): Promise<void>
Separa le schede in una visualizzazione divisa in schede indipendenti.
Parametri
-
splitViewId
numero
L'ID della visualizzazione divisa da separare.
Resi
-
Promise<void>
update()
browser.tabs.update(
tabId?: number,
updateProperties: object,
): Promise<Tab | undefined>
Modifica le proprietà di una scheda. Le proprietà non specificate in updateProperties non vengono modificate.
Parametri
-
tabId
number optional
Per impostazione predefinita, viene selezionata la scheda della finestra corrente.
-
updateProperties
oggetto
-
attivo
boolean facoltativo
Indica se la scheda deve essere attiva. Non influisce sullo stato attivo della finestra (vedi
windows.update). -
autoDiscardable
boolean facoltativo
Chrome 54 e versioni successive browser.* da Chrome 148Se la scheda deve essere ignorata automaticamente dal browser quando le risorse sono in esaurimento.
-
in evidenza
boolean facoltativo
Aggiunge o rimuove la scheda dalla selezione corrente.
-
audio disattivato
boolean facoltativo
Chrome 45+ browser.* da Chrome 148Indica se l'audio della scheda deve essere disattivato.
-
openerTabId
number optional
L'ID della scheda che ha aperto questa scheda. Se specificata, la scheda di apertura deve trovarsi nella stessa finestra di questa scheda.
-
sempre visibile
boolean facoltativo
Indica se la scheda deve essere bloccata.
-
selezionato
boolean facoltativo
DeprecatoUtilizza highlighted.
Indica se la scheda deve essere selezionata.
-
url
stringa facoltativa
Un URL a cui indirizzare la scheda. Gli URL JavaScript non sono supportati; utilizza
scripting.executeScript.
-
Resi
-
Promise<Tab | undefined>
Chrome 88+ browser.* da Chrome 148
Eventi
onActivated
browser.tabs.onActivated.addListener(
callback: function,
)
Si attiva 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 rimanere in ascolto degli eventi onUpdated per ricevere una notifica quando viene impostato un URL.
Parametri
-
callback
funzione
Il parametro
callbackha 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 è cambiata la scheda attiva.
-
-
onAttached
browser.tabs.onAttached.addListener(
callback: function,
)
Viene attivato quando una scheda viene collegata a una finestra, ad esempio perché è stata spostata tra le finestre.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(tabId: number, attachInfo: object) => void
-
tabId
numero
-
attachInfo
oggetto
-
newPosition
numero
-
newWindowId
numero
-
-
onCreated
browser.tabs.onCreated.addListener(
callback: function,
)
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
callbackha il seguente aspetto:(tab: Tab) => void
-
tab
-
onDetached
browser.tabs.onDetached.addListener(
callback: function,
)
Viene attivato quando una scheda viene scollegata da una finestra, ad esempio perché è stata spostata tra le finestre.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(tabId: number, detachInfo: object) => void
-
tabId
numero
-
detachInfo
oggetto
-
oldPosition
numero
-
oldWindowId
numero
-
-
onHighlighted
browser.tabs.onHighlighted.addListener(
callback: function,
)
Attivato quando le schede evidenziate o selezionate in una finestra cambiano.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(highlightInfo: object) => void
-
highlightInfo
oggetto
-
tabIds
number[]
Tutte le schede evidenziate nella finestra.
-
windowId
numero
La finestra le cui schede sono state modificate.
-
-
onMoved
browser.tabs.onMoved.addListener(
callback: function,
)
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 tra le finestre. Per maggiori dettagli, consulta tabs.onDetached.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(tabId: number, moveInfo: object) => void
-
tabId
numero
-
moveInfo
oggetto
-
fromIndex
numero
-
toIndex
numero
-
windowId
numero
-
-
onRemoved
browser.tabs.onRemoved.addListener(
callback: function,
)
Attivato quando una scheda viene chiusa.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(tabId: number, removeInfo: object) => void
-
tabId
numero
-
removeInfo
oggetto
-
isWindowClosing
booleano
True quando la scheda è stata chiusa perché la finestra principale è stata chiusa.
-
windowId
numero
La finestra la cui scheda è chiusa.
-
-
onReplaced
browser.tabs.onReplaced.addListener(
callback: function,
)
Attivato quando una scheda viene sostituita con un'altra a causa del prerendering o della ricerca istantanea.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(addedTabId: number, removedTabId: number) => void
-
addedTabId
numero
-
removedTabId
numero
-
onUpdated
browser.tabs.onUpdated.addListener(
callback: function,
)
Attivato quando una scheda viene aggiornata.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(tabId: number, changeInfo: object, tab: Tab) => void
-
tabId
numero
-
changeInfo
oggetto
-
audible
boolean facoltativo
Chrome 45+ browser.* da Chrome 148Il nuovo stato audio della scheda.
-
autoDiscardable
boolean facoltativo
Chrome 54 e versioni successive browser.* da Chrome 148Il nuovo stato di eliminazione automatica della scheda.
-
ignorato
boolean facoltativo
Chrome 54 e versioni successive browser.* da Chrome 148Il nuovo stato di eliminazione della scheda.
-
favIconUrl
stringa facoltativa
Il nuovo URL della favicon della scheda.
-
bloccato
boolean facoltativo
Chrome 132+ browser.* da Chrome 148Il nuovo stato bloccato della scheda.
-
groupId
number optional
Chrome 88+ browser.* da Chrome 148Il nuovo gruppo della scheda.
-
mutedInfo
MutedInfo facoltativo
Chrome 46 e versioni successive browser.* da Chrome 148Il nuovo stato di disattivazione dell'audio della scheda e il motivo della modifica.
-
sempre visibile
boolean facoltativo
Il nuovo stato della scheda bloccata.
-
splitViewId
number optional
Chrome 140 e versioni successive browser.* da Chrome 148La nuova visualizzazione divisa della scheda.
-
stato
TabStatus facoltativo
Lo stato di caricamento della scheda.
-
titolo
stringa facoltativa
Chrome 48+ browser.* da Chrome 148Il nuovo titolo della scheda.
-
url
stringa facoltativa
L'URL della scheda, se è stato modificato.
-
-
tab
-
onZoomChange
browser.tabs.onZoomChange.addListener(
callback: function,
)
Attivato quando viene applicato lo zoom a una scheda.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
oggetto
-
newZoomFactor
numero
-
oldZoomFactor
numero
-
tabId
numero
-
zoomSettings
-
-