chrome.tabs

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 chiamare tabs.query() per quattro proprietà sensibili nelle istanze tabs.Tab: url, pendingUrl, title e favIconUrl.

{
  "name": "My extension",
  ...
  "permissions": [
    "tabs"
  ],
  ...
}
Autorizzazioni host

Le autorizzazioni host consentono a un'estensione di leggere ed eseguire query sulle quattro proprietà sensibilitabs.Tab di una scheda corrispondente. Possono anche interagire direttamente con le schede corrispondenti utilizzando metodi come tabs.captureVisibleTab(), tabs.executeScript(), tabs.insertCSS() e tabs.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

Chrome 46 e versioni successive

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

Chrome 46 e versioni successive

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 successive

    Indica 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 successive

    Indica se la scheda può essere eliminata automaticamente dal browser quando le risorse sono scarse.

  • ignorato

    booleano

    Chrome 54 e versioni successive

    Indica 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 attesa

    Indica 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 successive

    L'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 su chrome.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 successive

    L'ultima volta che è stato eseguito l'accesso alla scheda come numero di millisecondi dall'epoca.

  • mutedInfo

    MutedInfo facoltativo

    Chrome 46 e versioni successive

    Lo 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 successive

    L'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

    Obsoleto

    Utilizza 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 anche Tab.pendingUrl.

  • larghezza

    number facoltativo

    La larghezza della scheda in pixel.

  • windowId

    numero

    L'ID della finestra che contiene la scheda.

TabStatus

Chrome 44 e versioni successive

Lo stato di caricamento della scheda.

Enum

"unloaded"

"loading"

"complete"

WindowType

Chrome 44 e versioni successive

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 successive

    Utilizzato 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 e per-tab in caso contrario.

ZoomSettingsMode

Chrome 44 e versioni successive

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

Chrome 44 e versioni successive

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

Chrome 92 o versioni successive

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

Chrome 46 e versioni successive

Un ID che rappresenta l'assenza di una scheda del browser.

Valore

-1

TAB_INDEX_NONE

Chrome 123 e versioni successive

Un indice che rappresenta l'assenza di un indice di scheda in una barra_schede.

Valore

-1

Metodi

captureVisibleTab()

Promessa
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 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.

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 successive

      Apri 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()

Promessa
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

      Obsoleto

      Utilizza 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 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.

detectLanguage()

Promessa
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 o fr. 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 restituito zh-CN. Per una lingua sconosciuta/non definita, viene restituito und.

Resi

  • Promise<string>

    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.

discard()

Promessa Chrome 54 e versioni successive
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 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.

duplicate()

Promessa
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

    • tab

      Tab facoltativo

      Dettagli sulla scheda duplicata. L'oggetto tabs.Tab non contiene url, pendingUrl, title e favIconUrl se non è stata richiesta l'autorizzazione "tabs".

Resi

  • Promise<Tab | undefined>

    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.

get()

Promessa
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

Resi

  • Promise<Tab>

    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.

getCurrent()

Promessa
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

  • callback

    function facoltativa

    Il parametro callback ha il seguente aspetto:

    (tab?: Tab) => void

    • tab

      Tab facoltativo

Resi

  • Promise<Tab | undefined>

    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.

getZoom()

Promessa
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 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.

getZoomSettings()

Promessa
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 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.

goBack()

Promessa Chrome 72 e versioni successive
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 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.

goForward()

Promessa Chrome 72 e versioni successive
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 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.

group()

Promessa Chrome 88 e versioni successive
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()

Promessa
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

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

move()

Promessa
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

    • schede

      Tab | Tab[]

      Dettagli sulle schede spostate.

Resi

  • Promise<Tab | Tab[]>

    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()

Promessa
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 successive

      Indica se le schede sono udibili.

    • autoDiscardable

      booleano facoltativo

      Chrome 54 e versioni successive

      Indica 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 successive

      Indica 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 attesa

      Indica 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 successive

      L'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 successive

      Indica 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 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.

reload()

Promessa
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 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.

remove()

Promessa
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 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.

sendMessage()

Promessa
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 successive

      Invia 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 successive

    Il 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 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.

setZoom()

Promessa
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 di 0 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 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.

setZoomSettings()

Promessa
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 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.

ungroup()

Promessa Chrome 88 e versioni successive
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()

Promessa
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 successive

      Indica 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 successive

      Indica 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

      Obsoleto

      Utilizza 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

    • tab

      Tab facoltativo

      Dettagli sulla scheda aggiornata. L'oggetto tabs.Tab non contiene url, pendingUrl, title e favIconUrl se non è stata richiesta l'autorizzazione "tabs".

Resi

  • Promise<Tab | undefined>

    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.

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

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 successive

        Il nuovo stato udibile della scheda.

      • autoDiscardable

        booleano facoltativo

        Chrome 54 e versioni successive

        Il nuovo stato di eliminazione automatica della scheda.

      • ignorato

        booleano facoltativo

        Chrome 54 e versioni successive

        Il nuovo stato eliminato della scheda.

      • favIconUrl

        stringa facoltativa

        Il nuovo URL della favicon della scheda.

      • bloccato

        booleano facoltativo

        In attesa

        Il nuovo stato di blocco della scheda.

      • groupId

        number facoltativo

        Chrome 88 e versioni successive

        Il nuovo gruppo della scheda.

      • mutedInfo

        MutedInfo facoltativo

        Chrome 46 e versioni successive

        Il 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 successive

        Il 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