browser.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 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 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 su quattro proprietà sensibili di una scheda corrispondente: tabs.Tab. Possono anche interagire direttamente con le schede corrispondenti utilizzando metodi come tabs.captureVisibleTab(), scripting.executeScript(), scripting.insertCSS() e scripting.removeCSS().

{
  "name": "My extension",
  ...
  "host_permissions": [
    "http://*/*",
    "https://*/*"
  ],
  ...
}
L'autorizzazione "activeTab"

activeTab concede a un'estensione l'autorizzazione host temporanea per la scheda corrente in risposta a una chiamata 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.

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

Chrome 46 e versioni successive browser.* da Chrome 148

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

Chrome 46 e versioni successive browser.* da Chrome 148

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 148

    Se 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 148

    Se la scheda può essere ignorata automaticamente dal browser quando le risorse sono insufficienti.

  • ignorato

    booleano

    Chrome 54 e versioni successive browser.* da Chrome 148

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

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

    L'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 su chrome.tabs.TAB_ID_NONE per 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 148

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

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

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

    Deprecato

    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.

  • splitViewId

    number optional

    Chrome 140 e versioni successive browser.* da Chrome 148

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

  • larghezza

    number optional

    La larghezza della scheda in pixel.

  • windowId

    numero

    L'ID della finestra che contiene la scheda.

TabStatus

Browser Chrome 44 e versioni successive * da Chrome 148

Lo stato di caricamento della scheda.

Enum

"unloaded"

"loading"

"complete"

WindowType

Browser Chrome 44 e versioni successive * da Chrome 148

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 148

    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 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-origin in modalità automatic e per-tab in caso contrario.

ZoomSettingsMode

Browser Chrome 44 e versioni successive * da Chrome 148

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

Browser Chrome 44 e versioni successive * da Chrome 148

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

Chrome 92+ browser.* da Chrome 148

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

Chrome 140 e versioni successive browser.* da Chrome 148

Un ID che rappresenta l'assenza di una scheda divisa.

Valore

-1

TAB_ID_NONE

Chrome 46 e versioni successive browser.* da Chrome 148

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

Valore

-1

TAB_INDEX_NONE

Chrome 123 e versioni successive browser.* da Chrome 148

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

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 148

      Apri una porta a un documento specifico identificato da documentId anziché a tutti i frame della scheda.

    • frameId

      number optional

      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 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.Port della porta viene attivato se la scheda si chiude o non esiste.

create()

browser.tabs.create(
  createProperties: object,
)
: Promise<Tab>

Crea una nuova scheda.

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

      Deprecato

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

Chrome 155+
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, pinned e groupId corrispondenti.

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

Chrome 54 e versioni successive browser.* da Chrome 148
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 148

    Viene risolta al termine dell'operazione.

duplicate()

browser.tabs.duplicate(
  tabId: number,
)
: Promise<Tab | undefined>

Duplica una scheda.

Parametri

  • tabId

    numero

    L'ID della scheda da duplicare.

Resi

  • Promise<Tab | undefined>

    Chrome 88+ browser.* da Chrome 148

get()

browser.tabs.get(
  tabId: number,
)
: Promise<Tab>

Recupera i dettagli della scheda specificata.

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 148

    Risolve 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 148

    Restituisce le impostazioni di zoom correnti della scheda.

goBack()

Browser Chrome 72 e versioni successive * da Chrome 148
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 Chrome 72 e versioni successive * da Chrome 148
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()

Chrome 88+ browser.* da Chrome 148
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

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 -1 per posizionare la scheda alla fine della finestra.

    • windowId

      number optional

      Per impostazione predefinita, viene utilizzata la finestra in cui si trova attualmente la scheda.

Resi

  • Promise<Tab | Tab[]>

    Chrome 88+ browser.* da Chrome 148

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 148

      Indica se le schede sono udibili.

    • autoDiscardable

      boolean facoltativo

      Chrome 54 e versioni successive browser.* da Chrome 148

      Specifica 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 148

      Se 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 148

      Se 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 148

      L'ID del gruppo in cui si trovano le schede o tabGroups.TAB_GROUP_ID_NONE per 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 148

      Se 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 148

      L'ID della visualizzazione divisa in cui si trovano le schede o tabs.SPLIT_VIEW_ID_NONE per 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_CURRENT per 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 148

      Invia un messaggio a un documento specifico identificato da documentId anziché a tutti i frame della scheda.

    • frameId

      number optional

      Invia un messaggio a un frame specifico identificato da frameId anziché a tutti i frame della scheda.

Resi

  • Promise<any>

    Browser Chrome 99 e versioni successive .* da Chrome 148

    Promise 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 0 imposta la scheda sul fattore di zoom predefinito corrente. I valori superiori a 0 specificano un fattore di zoom (eventualmente non predefinito) per la scheda.

Resi

  • Promise<void>

    Chrome 88+ browser.* da Chrome 148

    Si 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 148

    Si risolve dopo la modifica delle impostazioni di zoom.

ungroup()

Chrome 88+ browser.* da Chrome 148
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()

Chrome 155+
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 148

      Se 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 148

      Indica 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

      Deprecato

      Utilizza 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 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 è 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 callback ha 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 callback ha il seguente aspetto:

    (tab: Tab) => void

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 callback ha 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 callback ha 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 callback ha 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 callback ha 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 callback ha 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 callback ha il seguente aspetto:

    (tabId: number, changeInfo: object, tab: Tab) => void

    • tabId

      numero

    • changeInfo

      oggetto

      • audible

        boolean facoltativo

        Chrome 45+ browser.* da Chrome 148

        Il nuovo stato audio della scheda.

      • autoDiscardable

        boolean facoltativo

        Chrome 54 e versioni successive browser.* da Chrome 148

        Il nuovo stato di eliminazione automatica della scheda.

      • ignorato

        boolean facoltativo

        Chrome 54 e versioni successive browser.* da Chrome 148

        Il nuovo stato di eliminazione della scheda.

      • favIconUrl

        stringa facoltativa

        Il nuovo URL della favicon della scheda.

      • bloccato

        boolean facoltativo

        Chrome 132+ browser.* da Chrome 148

        Il nuovo stato bloccato della scheda.

      • groupId

        number optional

        Chrome 88+ browser.* da Chrome 148

        Il nuovo gruppo della scheda.

      • mutedInfo

        MutedInfo facoltativo

        Chrome 46 e versioni successive browser.* da Chrome 148

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

        La nuova visualizzazione divisa della scheda.

      • stato

        TabStatus facoltativo

        Lo stato di caricamento della scheda.

      • titolo

        stringa facoltativa

        Chrome 48+ browser.* da Chrome 148

        Il 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 callback ha il seguente aspetto:

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      oggetto

      • newZoomFactor

        numero

      • oldZoomFactor

        numero

      • tabId

        numero

      • zoomSettings