browser.tabs

Beschrijving

Gebruik de chrome.tabs API om te communiceren met het tabbladsysteem van de browser. Met deze API kun je tabbladen in de browser maken, aanpassen en opnieuw rangschikken.

De Tabs API biedt niet alleen functies om tabbladen te manipuleren en te beheren, maar kan ook de taal van het tabblad herkennen, een screenshot maken en communiceren met de contentscripts van een tabblad.

Rechten

Voor de meeste functies heb je geen rechten nodig. Bijvoorbeeld: een nieuw tabblad maken, een tabblad opnieuw laden, naar een andere URL navigeren, enzovoort.

Er zijn 3 rechten waar ontwikkelaars rekening mee moeten houden als ze met de Tabs API werken.

Het recht 'tabs'

Dit recht geeft geen toegang tot de naamruimte browser.tabs. In plaats daarvan geeft het een extensie de mogelijkheid om tabs.query() aan te roepen voor 4 gevoelige eigenschappen op tabs.Tab-instanties: url, pendingUrl, title en favIconUrl.

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

Met hostrechten kan een extensie de 4 gevoelige tabs.Tab-property's van een overeenkomend tabblad lezen en opvragen. Ze kunnen ook rechtstreeks communiceren met de overeenkomende tabbladen via methoden zoals tabs.captureVisibleTab(), scripting.executeScript(), scripting.insertCSS() en scripting.removeCSS().

{
  "name": "My extension",
  ...
  "host_permissions": [
    "http://*/*",
    "https://*/*"
  ],
  ...
}
Het recht activeTab

activeTab geeft een extensie tijdelijke hostrechten voor het huidige tabblad als reactie op een aanroep door de gebruiker. In tegenstelling tot hostrechten activeert activeTab geen waarschuwingen.

{
  "name": "My extension",
  ...
  "permissions": [
    "activeTab"
  ],
  ...
}

Toepassingen

In de volgende gedeelten worden enkele veelvoorkomende use cases beschreven.

Een extensiepagina openen op een nieuw tabblad

Een veelvoorkomend patroon voor extensies is om een introductiepagina te openen in een nieuw tabblad wanneer de extensie wordt geïnstalleerd. In het volgende voorbeeld ziet u hoe u dit doet.

background.js:

browser.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    browser.tabs.create({
      url: "onboarding.html"
    });
  }
});

Het huidige tabblad ophalen

In dit voorbeeld zie je hoe de serviceworker van een extensie het actieve tabblad kan ophalen uit het venster dat op dat moment de focus heeft (of het venster dat het laatst de focus had, als er geen Chrome-vensters de focus hebben). Dit is meestal het huidige tabblad van de gebruiker.

  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);
    });
  }

Het geluid van het aangegeven tabblad uitzetten

In dit voorbeeld staat hoe een extensie de dempingsstatus voor een bepaald tabblad kan aan- of uitzetten.

  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" }`);
    });
  }

Het huidige tabblad naar de eerste positie verplaatsen als erop wordt geklikt

In dit voorbeeld zie je hoe je een tabblad verplaatst terwijl er misschien wel of niet wordt gesleept. In dit voorbeeld wordt browser.tabs.move gebruikt, maar je kunt hetzelfde wachtpatroon gebruiken voor andere aanroepen die tabbladen aanpassen terwijl er wordt gesleept.

  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.");
      }
    });
  }

Een bericht doorgeven aan het contentscript van een geselecteerd tabblad

In dit voorbeeld zie je hoe de serviceworker van een extensie kan communiceren met contentscripts in specifieke browsertabbladen met 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.
}

Voorbeelden van extensies

Ga naar een van de volgende bronnen voor meer demo's van extensies voor de Tabs API:

Typen

MutedInfo

Chrome 46+ browser.* sinds Chrome 148

De gedempte status van het tabblad en de reden voor de laatste statuswijziging.

Eigenschappen

  • extensionId

    tekenreeks optioneel

    De ID van de extensie die de dempingsstatus heeft gewijzigd. Niet ingesteld als een extensie niet de reden was waarom de gedempte status voor het laatst is gewijzigd.

  • gedempt

    booleaans

    Of het geluid van het tabblad is uitgezet (er kan geen geluid worden afgespeeld). Het tabblad kan worden uitgezet, zelfs als er geen geluid is afgespeeld of op dit moment geen geluid wordt afgespeeld. Komt overeen met of de audio-indicator Gedempt wordt getoond.

  • reden

    MutedInfoReason optioneel

    De reden waarom het geluid van het tabblad is aan- of uitgezet. Niet ingesteld als de dempingsstatus van het tabblad nooit is gewijzigd.

MutedInfoReason

Chrome 46+ browser.* sinds Chrome 148

Een gebeurtenis die een wijziging in de status van het geluid heeft veroorzaakt.

Enum

"user"
Een invoeractie van de gebruiker heeft de status Uitgezet ingesteld.

"capture"
Tabbladopname is gestart, waardoor de status is gewijzigd in gedempt.

"extension"
Een extensie, geïdentificeerd door het veld extensionId, heeft de status op gedempt gezet.

Tab

Eigenschappen

  • actief

    booleaans

    Of het tabblad actief is in het venster. Dit betekent niet noodzakelijkerwijs dat het venster de focus heeft.

  • audible

    booleaans optioneel

    Chrome 45+ browser.* sinds Chrome 148

    Of het tabblad de afgelopen seconden geluid heeft geproduceerd (maar het is misschien niet te horen als het ook is gedempt). Dit komt overeen met of de indicator voor de audio van de spreker wordt getoond.

  • autoDiscardable

    booleaans

    Chrome 54+ browser.* sinds Chrome 148

    Of het tabblad automatisch kan worden verwijderd door de browser als er weinig bronnen zijn.

  • verwijderd

    booleaans

    Chrome 54+ browser.* sinds Chrome 148

    Of het tabblad is verwijderd. Een verwijderd tabblad is een tabblad waarvan de content uit het geheugen is verwijderd, maar nog steeds zichtbaar is in de tabbladstrook. De content wordt opnieuw geladen als de extensie de volgende keer wordt geactiveerd.

  • favIconUrl

    tekenreeks optioneel

    De URL van de favicon van het tabblad. Deze property is alleen aanwezig als de extensie het recht "tabs" heeft of hostrechten voor de pagina heeft. Het kan ook een lege tekenreeks zijn als het tabblad wordt geladen.

  • vastgelopen

    booleaans

    Chrome 132+ browser.* sinds Chrome 148

    Of het tabblad is vastgezet. Een vastgezet tabblad kan geen taken uitvoeren, waaronder gebeurtenishandlers of timers. Het is zichtbaar in de tabbladstrip en de content wordt in het geheugen geladen. Het wordt ontdooid bij activering.

  • groupId

    getal

    Chrome 88 of hoger browser.* sinds Chrome 148

    De ID van de groep waartoe het tabblad behoort.

  • hoogte

    number optioneel

    De hoogte van het tabblad in pixels.

  • gemarkeerd

    booleaans

    Of het tabblad is gemarkeerd.

  • id

    number optioneel

    De ID van het tabblad. Tabblad-ID's zijn uniek binnen een browsersessie. In sommige omstandigheden wordt er geen ID aan een tabblad toegewezen, bijvoorbeeld als je externe tabbladen opvraagt met de sessions API. In dat geval kan er een sessie-ID aanwezig zijn. De tabblad-ID kan ook worden ingesteld op chrome.tabs.TAB_ID_NONE voor apps en vensters met ontwikkelaarstools.

  • incognito

    booleaans

    Of het tabblad zich in een incognitovenster bevindt.

  • index

    getal

    De op nul gebaseerde index van het tabblad in het venster.

  • lastAccessed

    getal

    Chrome 121+ browser.* sinds Chrome 148

    De laatste keer dat het tabblad actief werd in het venster, als het aantal milliseconden sinds het tijdperk.

  • mutedInfo

    MutedInfo optioneel

    Chrome 46+ browser.* sinds Chrome 148

    De gedempte status van het tabblad en de reden voor de laatste statuswijziging.

  • openerTabId

    number optioneel

    De ID van het tabblad dat dit tabblad heeft geopend, indien van toepassing. Deze property is alleen aanwezig als het tabblad van de opener nog bestaat.

  • pendingUrl

    tekenreeks optioneel

    Chrome 79 of hoger browser.* sinds Chrome 148

    De URL waarnaar het tabblad navigeert, voordat de navigatie is vastgelegd. Deze property is alleen aanwezig als de extensie het recht "tabs" heeft of hostrechten heeft voor de pagina en er een navigatie in behandeling is.

  • vastgezet

    booleaans

    Of het tabblad is vastgezet.

  • geselecteerd

    booleaans

    Beëindigd

    Gebruik tabs.Tab.highlighted.

    Of het tabblad is geselecteerd.

  • sessionId

    tekenreeks optioneel

    De sessie-ID die wordt gebruikt om een tabblad uniek te identificeren, verkregen via de sessions API.

  • splitViewId

    number optioneel

    Chrome 140+ browser.* sinds Chrome 148

    De ID van de gesplitste weergave waartoe het tabblad behoort.

  • status

    TabStatus optioneel

    De laadstatus van het tabblad.

  • titel

    tekenreeks optioneel

    De titel van het tabblad. Deze property is alleen aanwezig als de extensie het recht "tabs" heeft of hostrechten voor de pagina heeft.

  • url

    tekenreeks optioneel

    De laatste vastgelegde URL van het hoofdframe van het tabblad. Deze property is alleen aanwezig als de extensie het recht "tabs" heeft of hostrechten voor de pagina heeft. Kan een lege tekenreeks zijn als het tabblad nog niet is vastgelegd. Ga ook naar Tab.pendingUrl.

  • breedte

    number optioneel

    De breedte van het tabblad in pixels.

  • windowId

    getal

    De ID van het venster met het tabblad.

TabStatus

Chrome 44+ browser.* sinds Chrome 148

De laadstatus van het tabblad.

Enum

"unloaded"

"loading"

"complete"

WindowType

Chrome 44+ browser.* sinds Chrome 148

Het type venster.

Enum

"normal"

"popup"

"panel"

"app"

"devtools"

ZoomSettings

Bepaalt hoe zoomwijzigingen in een tabblad worden verwerkt en op welk bereik.

Eigenschappen

  • defaultZoomFactor

    number optioneel

    Chrome 43+ browser.* sinds Chrome 148

    Wordt gebruikt om het standaard zoomniveau voor het huidige tabblad te retourneren in aanroepen naar tabs.getZoomSettings.

  • modus

    ZoomSettingsMode optioneel

    Definieert hoe zoomwijzigingen worden verwerkt, d.w.z. welke entiteit verantwoordelijk is voor de daadwerkelijke schaling van de pagina. De standaardwaarde is automatic.

  • bereik

    Bepaalt of zoomwijzigingen blijven gelden voor de oorsprong van de pagina of alleen van kracht worden op dit tabblad. De standaardinstelling is per-origin in de modus automatic en anders per-tab.

ZoomSettingsMode

Chrome 44+ browser.* sinds Chrome 148

Definieert hoe zoomwijzigingen worden verwerkt, d.w.z. welke entiteit verantwoordelijk is voor de daadwerkelijke schaling van de pagina. De standaardwaarde is automatic.

Enum

"automatic"
Zoomwijzigingen worden automatisch verwerkt door de browser.

"manual"
Overschrijft de automatische verwerking van zoomwijzigingen. De gebeurtenis onZoomChange wordt nog steeds verzonden. Het is de verantwoordelijkheid van de extensie om naar deze gebeurtenis te luisteren en de pagina handmatig te schalen. Deze modus ondersteunt per-origin-zoomen niet. De zoominstelling scope wordt daarom genegeerd en er wordt uitgegaan van per-tab.

disabled
Zet alle zoomfuncties op het tabblad uit. Het tabblad wordt teruggezet naar het standaard zoomniveau en alle pogingen om het zoomniveau te wijzigen, worden genegeerd.

ZoomSettingsScope

Chrome 44+ browser.* sinds Chrome 148

Bepaalt of zoomwijzigingen blijven gelden voor de oorsprong van de pagina of alleen van kracht worden op dit tabblad. De standaardinstelling is per-origin in de modus automatic en anders per-tab.

Enum

per-origin
Zoomwijzigingen blijven behouden in de oorsprong van de ingezoomde pagina, d.w.z. alle andere tabbladen die naar dezelfde oorsprong zijn genavigeerd, worden ook ingezoomd. Bovendien worden wijzigingen in de zoomfactor van per-origin opgeslagen met de oorsprong. Dit betekent dat als je naar andere pagina's met dezelfde oorsprong gaat, ze allemaal worden ingezoomd met dezelfde zoomfactor. Het bereik per-origin is alleen beschikbaar in de modus automatic.

per-tab
Zoomwijzigingen worden alleen doorgevoerd op dit tabblad en zoomwijzigingen op andere tabbladen hebben geen invloed op het zoomen op dit tabblad. Ook worden per-tabzoomwijzigingen gereset bij navigatie. Als je naar een tabblad navigeert, worden pagina's altijd geladen met de per-originzoomfactoren.

Eigenschappen

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92+ browser.* sinds Chrome 148

Het maximale aantal keren dat captureVisibleTab per seconde kan worden aangeroepen. captureVisibleTab is duur en moet niet te vaak worden aangeroepen.

Waarde

2

SPLIT_VIEW_ID_NONE

Chrome 140+ browser.* sinds Chrome 148

Een ID die de afwezigheid van een gesplitst tabblad vertegenwoordigt.

Waarde

-1

TAB_ID_NONE

Chrome 46+ browser.* sinds Chrome 148

Een ID die de afwezigheid van een browsertabblad aangeeft.

Waarde

-1

TAB_INDEX_NONE

Chrome 123+ browser.* sinds Chrome 148

Een index die de afwezigheid van een tabbladindex in een tabbladstrook vertegenwoordigt.

Waarde

-1

Methoden

captureVisibleTab()

browser.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
)
: Promise<string>

Legt het zichtbare gebied van het actieve tabblad in het aangegeven venster vast. De extensie moet het recht <all_urls> of activeTab hebben om deze methode aan te roepen. Naast sites waartoe extensies normaal gesproken toegang hebben, kunnen extensies met deze methode gevoelige sites vastleggen die anders beperkt zijn, waaronder pagina's met het chrome:-schema, pagina's van andere extensies en data:-URL's. Deze gevoelige sites kunnen alleen worden vastgelegd met het recht activeTab. Bestands-URL's kunnen alleen worden vastgelegd als de extensie bestandstoegang heeft gekregen.

Parameters

Retourzendingen

  • Promise<string>

    Chrome 88 of hoger browser.* sinds Chrome 148

connect()

browser.tabs.connect(
  tabId: number,
  connectInfo?: object,
)
: runtime.Port

Maakt verbinding met de contentscripts op het opgegeven tabblad. De gebeurtenis runtime.onConnect wordt geactiveerd in elk contentscript dat wordt uitgevoerd op het opgegeven tabblad voor de huidige extensie. Ga naar Content Script Messaging voor meer informatie.

Parameters

  • tabId

    getal

  • connectInfo

    object optioneel

    • documentId

      tekenreeks optioneel

      Chrome 106 of hoger browser.* sinds Chrome 148

      Open een poort naar een specifiek document dat wordt aangegeven door documentId in plaats van alle frames op het tabblad.

    • frameId

      number optioneel

      Open een poort naar een specifiek frame dat wordt aangegeven door frameId in plaats van alle frames op het tabblad.

    • name

      tekenreeks optioneel

      Wordt doorgegeven aan onConnect voor contentscripts die luisteren naar de verbindingsgebeurtenis.

Retourzendingen

  • Een poort die kan worden gebruikt om te communiceren met de contentscripts die worden uitgevoerd op het aangegeven tabblad. De gebeurtenis runtime.Port van de poort wordt geactiveerd als het tabblad wordt gesloten of niet bestaat.

create()

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

Maakt een nieuw tabblad.

Parameters

  • createProperties

    object

    • actief

      booleaans optioneel

      Of het tabblad het actieve tabblad in het venster moet worden. Heeft geen invloed op of het venster de focus heeft (zie windows.update). De standaardwaarde is true.

    • index

      number optioneel

      De positie die het tabblad moet innemen in het venster. De ingevoerde waarde wordt vastgezet tussen 0 en het aantal tabbladen in het venster.

    • openerTabId

      number optioneel

      De ID van het tabblad dat dit tabblad heeft geopend. Als dit is opgegeven, moet het openende tabblad zich in hetzelfde venster bevinden als het nieuwe tabblad.

    • vastgezet

      booleaans optioneel

      Of het tabblad moet worden vastgezet. Standaard is false

    • geselecteerd

      booleaans optioneel

      Beëindigd

      Gebruik active.

      Of het tabblad het geselecteerde tabblad in het venster moet worden. Standaard is true

    • splitWithTabId

      number optioneel

      Chrome 155+

      De ID van een bestaand tabblad waarmee een gesplitste weergave moet worden gemaakt. Als je dit opgeeft, moet het tabblad waarmee je splitst aan de volgende voorwaarden voldoen:

      • Het mag geen tabblad zijn dat al is gesplitst.
      • Het moet in hetzelfde venster staan als het nieuwe tabblad.
      • Als windowId is ingevoerd, moet dit hetzelfde zijn als de venster-ID van het tabblad waarmee wordt gesplitst.
      • Als index is ingevoerd, moet dit een index zijn die grenst aan het tabblad waarmee wordt gesplitst. Dit is van invloed op de relatieve positie van het nieuwe tabblad.
    • url

      tekenreeks optioneel

      De URL waarnaar het tabblad in eerste instantie moet navigeren. Volledig gekwalificeerde URL's moeten een schema bevatten (bijv. 'http://www.google.com', niet 'www.google.com'). Relatieve URL's zijn relatief ten opzichte van de huidige pagina in de extensie. Standaard wordt de pagina Nieuw tabblad getoond.

    • windowId

      number optioneel

      Het venster waarin het nieuwe tabblad moet worden gemaakt. De standaardwaarde is het huidige venster.

Retourzendingen

  • Promise<Tab>

    Chrome 88 of hoger browser.* sinds Chrome 148

createSplit()

Chrome 155+
browser.tabs.createSplit(
  tabIds: [number, number],
)
: Promise<number>

Splitst 2 bestaande tabbladen in een gesplitste weergave.

Parameters

  • tabIds

    [number, number]

    Een array van precies 2 tabblad-ID's die je wilt koppelen in een gesplitste weergave. Alle tabbladen moeten aan de volgende voorwaarden voldoen:

    Ze moeten aan elkaar grenzen. Ze mogen nog niet in een gesplitste weergave staan. De statussen windowId, pinned en groupId moeten overeenkomen.

Retourzendingen

  • Promise<number>

detectLanguage()

browser.tabs.detectLanguage(
  tabId?: number,
)
: Promise<string>

Detecteert de primaire taal van de content op een tabblad.

Parameters

  • tabId

    number optioneel

    Standaard is dit het actieve tabblad van het huidige venster.

Retourzendingen

  • Promise<string>

    Chrome 88 of hoger browser.* sinds Chrome 148

discard()

Chrome 54+ browser.* sinds Chrome 148
browser.tabs.discard(
  tabId?: number,
)
: Promise<Tab | undefined>

Verwijdert een tabblad uit het geheugen. Verwijderde tabbladen zijn nog steeds zichtbaar op de tabbladstrook en worden opnieuw geladen als ze worden geactiveerd.

Parameters

  • tabId

    number optioneel

    De ID van het tabblad dat moet worden verwijderd. Als je dit opgeeft, wordt het tabblad verwijderd, tenzij het actief is of al is verwijderd. Als je dit weglaat, verwijdert de browser het minst belangrijke tabblad. Dit kan mislukken als er geen tabbladen zijn die kunnen worden verwijderd.

Retourzendingen

  • Promise<Tab | undefined>

    Chrome 88 of hoger browser.* sinds Chrome 148

    Wordt opgelost nadat de bewerking is afgerond.

duplicate()

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

Dupliceert een tabblad.

Parameters

  • tabId

    getal

    De ID van het tabblad dat je wilt dupliceren.

Retourzendingen

  • Promise<Tab | undefined>

    Chrome 88 of hoger browser.* sinds Chrome 148

get()

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

Hiermee worden gegevens over het opgegeven tabblad opgehaald.

Parameters

  • tabId

    getal

Retourzendingen

  • Promise<Tab>

    Chrome 88 of hoger browser.* sinds Chrome 148

getCurrent()

browser.tabs.getCurrent(): Promise<Tab | undefined>

Haalt het tabblad op van waaruit deze scriptaanroep wordt gedaan. Retourneert undefined als de aanroep wordt uitgevoerd vanuit een niet-tabbladcontext (bijvoorbeeld een achtergrondpagina of pop-upweergave).

Retourzendingen

  • Promise<Tab | undefined>

    Chrome 88 of hoger browser.* sinds Chrome 148

getZoom()

browser.tabs.getZoom(
  tabId?: number,
)
: Promise<number>

Haalt de huidige zoomfactor van een opgegeven tabblad op.

Parameters

  • tabId

    number optioneel

    De ID van het tabblad waarvan je de huidige zoomfactor wilt ophalen. De standaardwaarde is het actieve tabblad van het huidige venster.

Retourzendingen

  • Promise<number>

    Chrome 88 of hoger browser.* sinds Chrome 148

    Lost op met de huidige zoomfactor van het tabblad nadat deze is opgehaald.

getZoomSettings()

browser.tabs.getZoomSettings(
  tabId?: number,
)
: Promise<ZoomSettings>

Haalt de huidige zoominstellingen van een opgegeven tabblad op.

Parameters

  • tabId

    number optioneel

    De ID van het tabblad waarvan je de huidige zoominstellingen wilt ophalen. De standaardinstelling is het actieve tabblad van het huidige venster.

Retourzendingen

  • Promise<ZoomSettings>

    Chrome 88 of hoger browser.* sinds Chrome 148

    Voert de omzetting uit met de huidige zoominstellingen van het tabblad.

goBack()

Chrome 72+ browser.* sinds Chrome 148
browser.tabs.goBack(
  tabId?: number,
)
: Promise<void>

Ga terug naar de vorige pagina, als die beschikbaar is.

Parameters

  • tabId

    number optioneel

    De ID van het tabblad om terug te navigeren. De standaardwaarde is het geselecteerde tabblad van het huidige venster.

Retourzendingen

  • Promise<void>

    Chrome 88 of hoger browser.* sinds Chrome 148

goForward()

Chrome 72+ browser.* sinds Chrome 148
browser.tabs.goForward(
  tabId?: number,
)
: Promise<void>

Ga naar de volgende pagina, als die beschikbaar is.

Parameters

  • tabId

    number optioneel

    De ID van het tabblad om vooruit te navigeren. De standaardinstelling is het geselecteerde tabblad van het huidige venster.

Retourzendingen

  • Promise<void>

    Chrome 88 of hoger browser.* sinds Chrome 148

group()

Chrome 88 of hoger browser.* sinds Chrome 148
browser.tabs.group(
  options: object,
)
: Promise<number>

Voegt een of meer tabbladen toe aan een opgegeven groep of, als er geen groep is opgegeven, voegt de aangegeven tabbladen toe aan een nieuw gemaakte groep.

Parameters

  • opties

    object

    • createProperties

      object optioneel

      Configuraties om een groep te maken. Kan niet worden gebruikt als groupId al is ingevoerd.

      • windowId

        number optioneel

        Het venster van de nieuwe groep. De standaardwaarde is het huidige venster.

    • groupId

      number optioneel

      De ID van de groep waaraan je de tabbladen wilt toevoegen. Als u niets invoert, wordt er een nieuwe groep gemaakt.

    • tabIds

      number | [number, ...number[]]

      De tabblad-ID of lijst met tabblad-ID's die je aan de aangegeven groep wilt toevoegen.

Retourzendingen

  • Promise<number>

highlight()

browser.tabs.highlight(
  highlightInfo: object,
)
: Promise<windows.Window>

Markeert de aangegeven tabbladen en focust op het eerste tabblad van de groep. Er gebeurt niets als het aangegeven tabblad op dat moment actief is.

Parameters

  • highlightInfo

    object

    • tabbladen

      number | number[]

      Een of meer tabbladindexen om te markeren.

    • windowId

      number optioneel

      Het venster met de tabbladen.

Retourzendingen

  • Chrome 88 of hoger browser.* sinds Chrome 148

move()

browser.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
)
: Promise<Tab | Tab[]>

Verplaatst een of meer tabbladen naar een nieuwe positie in het venster of naar een nieuw venster. Je kunt tabbladen alleen verplaatsen naar en van normale vensters (window.type === "normal").

Parameters

  • tabIds

    number | number[]

    De tabblad-ID of lijst met tabblad-ID's die je wilt verplaatsen.

  • moveProperties

    object

    • index

      getal

      De positie waarnaar het venster moet worden verplaatst. Gebruik -1 om het tabblad aan het einde van het venster te plaatsen.

    • windowId

      number optioneel

      Standaard wordt het venster gebruikt waarin het tabblad zich op dat moment bevindt.

Retourzendingen

  • Promise<Tab | Tab[]>

    Chrome 88 of hoger browser.* sinds Chrome 148

query()

browser.tabs.query(
  queryInfo: object,
)
: Promise<Tab[]>

Haalt alle tabbladen op die de opgegeven eigenschappen hebben, of alle tabbladen als er geen eigenschappen zijn opgegeven.

Parameters

  • queryInfo

    object

    • actief

      booleaans optioneel

      Of de tabbladen actief zijn in de vensters.

    • audible

      booleaans optioneel

      Chrome 45+ browser.* sinds Chrome 148

      Of de tabbladen hoorbaar zijn.

    • autoDiscardable

      booleaans optioneel

      Chrome 54+ browser.* sinds Chrome 148

      Of de tabbladen automatisch kunnen worden verwijderd door de browser als er weinig bronnen zijn.

    • currentWindow

      booleaans optioneel

      Of de tabbladen zich in het huidige venster bevinden.

    • verwijderd

      booleaans optioneel

      Chrome 54+ browser.* sinds Chrome 148

      Of de tabbladen worden verwijderd. Een verwijderd tabblad is een tabblad waarvan de content uit het geheugen is verwijderd, maar nog steeds zichtbaar is in de tabbladstrook. De content wordt opnieuw geladen als de extensie de volgende keer wordt geactiveerd.

    • vastgelopen

      booleaans optioneel

      Chrome 132+ browser.* sinds Chrome 148

      Of de tabbladen zijn vastgezet. Een vastgezet tabblad kan geen taken uitvoeren, waaronder gebeurtenishandlers of timers. Het is zichtbaar in de tabbladstrip en de content wordt in het geheugen geladen. Het wordt ontdooid bij activering.

    • groupId

      number optioneel

      Chrome 88 of hoger browser.* sinds Chrome 148

      De ID van de groep waarin de tabbladen zich bevinden of tabGroups.TAB_GROUP_ID_NONE voor niet-gegroepeerde tabbladen.

    • gemarkeerd

      booleaans optioneel

      Of de tabbladen zijn gemarkeerd.

    • index

      number optioneel

      De positie van de tabbladen in de vensters.

    • lastFocusedWindow

      booleaans optioneel

      Of de tabbladen zich in het laatst gefocuste venster bevinden.

    • gedempt

      booleaans optioneel

      Chrome 45+ browser.* sinds Chrome 148

      Of de tabbladen op stil staan.

    • vastgezet

      booleaans optioneel

      Of de tabbladen zijn vastgezet.

    • splitViewId

      number optioneel

      Chrome 140+ browser.* sinds Chrome 148

      De ID van de gesplitste weergave waarin de tabbladen zich bevinden, of tabs.SPLIT_VIEW_ID_NONE voor tabbladen die zich niet in een gesplitste weergave bevinden.

    • status

      TabStatus optioneel

      De laadstatus van het tabblad.

    • titel

      tekenreeks optioneel

      Paginatitels vergelijken met een patroon. Deze property wordt genegeerd als de extensie niet het recht "tabs" of hostrechten voor de pagina heeft.

    • url

      string | string[] optioneel

      Vergelijk tabbladen met een of meer URL-patronen. Fragment-ID's worden niet gematcht. Deze property wordt genegeerd als de extensie niet het recht "tabs" of hostrechten voor de pagina heeft.

    • windowId

      number optioneel

      De ID van het bovenliggende venster of windows.WINDOW_ID_CURRENT voor het huidige venster.

    • windowType

      WindowType optioneel

      Het type venster waarin de tabbladen zich bevinden.

Retourzendingen

  • Promise<Tab[]>

    Chrome 88 of hoger browser.* sinds Chrome 148

reload()

browser.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
)
: Promise<void>

Laad een tabblad opnieuw.

Parameters

  • tabId

    number optioneel

    De ID van het tabblad dat opnieuw moet worden geladen. Dit is standaard het geselecteerde tabblad van het huidige venster.

  • reloadProperties

    object optioneel

    • bypassCache

      booleaans optioneel

      Of lokaal cachen moet worden overgeslagen. De standaardwaarde is false.

Retourzendingen

  • Promise<void>

    Chrome 88 of hoger browser.* sinds Chrome 148

remove()

browser.tabs.remove(
  tabIds: number | number[],
)
: Promise<void>

Sluit een of meer tabbladen.

Parameters

  • tabIds

    number | number[]

    De tabblad-ID of lijst met tabblad-ID's die je wilt sluiten.

Retourzendingen

  • Promise<void>

    Chrome 88 of hoger browser.* sinds Chrome 148

sendMessage()

browser.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
)
: Promise<any>

Stuurt één bericht naar de contentscripts op het aangegeven tabblad. De gebeurtenis runtime.onMessage wordt geactiveerd in elk contentscript dat wordt uitgevoerd op het opgegeven tabblad voor de huidige extensie.

Parameters

  • tabId

    getal

  • bericht

    alle

    Het bericht dat je wilt sturen. Dit bericht moet een json-object zijn.

  • opties

    object optioneel

    • documentId

      tekenreeks optioneel

      Chrome 106 of hoger browser.* sinds Chrome 148

      Stuur een bericht naar een specifiek document dat wordt geïdentificeerd door documentId in plaats van naar alle frames op het tabblad.

    • frameId

      number optioneel

      Stuur een bericht naar een specifiek frame dat wordt aangegeven door frameId in plaats van naar alle frames op het tabblad.

Retourzendingen

  • Promise<any>

    Chrome 99+ browser.* sinds Chrome 148

    Promise die wordt opgelost met de reactie van het contentscript. Als er een fout optreedt bij het maken van verbinding met het opgegeven tabblad, wordt de promise afgewezen.

setZoom()

browser.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
)
: Promise<void>

Zoomt in op een opgegeven tabblad.

Parameters

  • tabId

    number optioneel

    De ID van het tabblad waarop moet worden gezoomd. De standaardwaarde is het actieve tabblad van het huidige venster.

  • zoomFactor

    getal

    De nieuwe zoomfactor. De waarde 0 stelt het tabblad in op de huidige standaard zoomfactor. Waarden hoger dan 0 geven een (mogelijk niet-standaard) zoomfactor voor het tabblad aan.

Retourzendingen

  • Promise<void>

    Chrome 88 of hoger browser.* sinds Chrome 148

    Wordt opgelost nadat de zoomfactor is gewijzigd.

setZoomSettings()

browser.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
)
: Promise<void>

Hiermee stel je de zoominstellingen voor een bepaald tabblad in. Deze bepalen hoe zoomwijzigingen worden verwerkt. Deze instellingen worden gereset naar de standaardwaarden als je naar het tabblad gaat.

Parameters

  • tabId

    number optioneel

    De ID van het tabblad waarvoor je de zoominstellingen wilt wijzigen. De standaardinstelling is het actieve tabblad van het huidige venster.

  • zoomSettings

    Bepaalt hoe zoomwijzigingen worden verwerkt en op welk niveau.

Retourzendingen

  • Promise<void>

    Chrome 88 of hoger browser.* sinds Chrome 148

    Het probleem wordt opgelost nadat de zoominstellingen zijn gewijzigd.

ungroup()

Chrome 88 of hoger browser.* sinds Chrome 148
browser.tabs.ungroup(
  tabIds: number | [number, ...number[]],
)
: Promise<void>

Verwijdert een of meer tabbladen uit de respectieve groepen. Als groepen leeg raken, worden ze verwijderd.

Parameters

  • tabIds

    number | [number, ...number[]]

    De tabblad-ID of lijst met tabblad-ID's die je uit de respectieve groepen wilt verwijderen.

Retourzendingen

  • Promise<void>

unsplit()

Chrome 155+
browser.tabs.unsplit(
  splitViewId: number,
)
: Promise<void>

Hiermee worden de tabbladen in een gesplitste weergave gescheiden in onafhankelijke tabbladen.

Parameters

  • splitViewId

    getal

    De ID van de gesplitste weergave die je wilt scheiden.

Retourzendingen

  • Promise<void>

update()

browser.tabs.update(
  tabId?: number,
  updateProperties: object,
)
: Promise<Tab | undefined>

Wijzigt de eigenschappen van een tabblad. Property's die niet zijn opgegeven in updateProperties, worden niet gewijzigd.

Parameters

  • tabId

    number optioneel

    Standaard wordt het geselecteerde tabblad van het huidige venster gebruikt.

  • updateProperties

    object

    • actief

      booleaans optioneel

      Of het tabblad actief moet zijn. Heeft geen invloed op of het venster de focus heeft (zie windows.update).

    • autoDiscardable

      booleaans optioneel

      Chrome 54+ browser.* sinds Chrome 148

      Of het tabblad automatisch door de browser moet worden verwijderd als er weinig bronnen zijn.

    • gemarkeerd

      booleaans optioneel

      Hiermee voeg je het tabblad toe aan of verwijder je het uit de huidige selectie.

    • gedempt

      booleaans optioneel

      Chrome 45+ browser.* sinds Chrome 148

      Of het geluid van het tabblad moet worden uitgezet.

    • openerTabId

      number optioneel

      De ID van het tabblad dat dit tabblad heeft geopend. Als dit is opgegeven, moet het openende tabblad zich in hetzelfde venster bevinden als dit tabblad.

    • vastgezet

      booleaans optioneel

      Of het tabblad moet worden vastgezet.

    • geselecteerd

      booleaans optioneel

      Beëindigd

      Gebruik gemarkeerd.

      Of het tabblad moet worden geselecteerd.

    • url

      tekenreeks optioneel

      Een URL waarnaar het tabblad moet navigeren. JavaScript-URL's worden niet ondersteund. Gebruik in plaats daarvan scripting.executeScript.

Retourzendingen

  • Promise<Tab | undefined>

    Chrome 88 of hoger browser.* sinds Chrome 148

Evenementen

onActivated

browser.tabs.onActivated.addListener(
  callback: function,
)

Wordt geactiveerd als het actieve tabblad in een venster verandert. De URL van het tabblad is misschien niet ingesteld op het moment dat deze gebeurtenis wordt geactiveerd, maar je kunt luisteren naar onUpdated-gebeurtenissen om een melding te krijgen wanneer een URL wordt ingesteld.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (activeInfo: object) => void

    • activeInfo

      object

      • tabId

        getal

        De ID van het tabblad dat actief is geworden.

      • windowId

        getal

        De ID van het venster waarin het actieve tabblad is gewijzigd.

onAttached

browser.tabs.onAttached.addListener(
  callback: function,
)

Wordt geactiveerd als een tabblad aan een venster wordt gekoppeld, bijvoorbeeld omdat het tussen vensters is verplaatst.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (tabId: number, attachInfo: object) => void

    • tabId

      getal

    • attachInfo

      object

      • newPosition

        getal

      • newWindowId

        getal

onCreated

browser.tabs.onCreated.addListener(
  callback: function,
)

Wordt geactiveerd als een tabblad wordt gemaakt. De URL van het tabblad, het lidmaatschap van de tabbladgroep en het lidmaatschap van de gesplitste weergave zijn misschien niet ingesteld op het moment dat deze gebeurtenis wordt geactiveerd, maar je kunt luisteren naar onUpdated-gebeurtenissen om een melding te krijgen als een URL is ingesteld of het tabblad is toegevoegd aan een tabbladgroep of gesplitste weergave.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (tab: Tab) => void

onDetached

browser.tabs.onDetached.addListener(
  callback: function,
)

Wordt geactiveerd als een tabblad wordt losgekoppeld van een venster, bijvoorbeeld omdat het tussen vensters is verplaatst.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (tabId: number, detachInfo: object) => void

    • tabId

      getal

    • detachInfo

      object

      • oldPosition

        getal

      • oldWindowId

        getal

onHighlighted

browser.tabs.onHighlighted.addListener(
  callback: function,
)

Wordt geactiveerd als de gemarkeerde of geselecteerde tabbladen in een venster veranderen.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (highlightInfo: object) => void

    • highlightInfo

      object

      • tabIds

        number[]

        Alle gemarkeerde tabbladen in het venster.

      • windowId

        getal

        Het venster waarvan de tabbladen zijn gewijzigd.

onMoved

browser.tabs.onMoved.addListener(
  callback: function,
)

Wordt geactiveerd als een tabblad binnen een venster wordt verplaatst. Er wordt maar één verplaatsingsgebeurtenis geactiveerd, die het tabblad vertegenwoordigt dat de gebruiker rechtstreeks heeft verplaatst. Verplaatsingsgebeurtenissen worden niet geactiveerd voor de andere tabbladen die moeten worden verplaatst als reactie op het handmatig verplaatste tabblad. Deze gebeurtenis wordt niet geactiveerd als een tabblad tussen vensters wordt verplaatst. Ga naar tabs.onDetached voor meer informatie.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (tabId: number, moveInfo: object) => void

    • tabId

      getal

    • moveInfo

      object

      • fromIndex

        getal

      • toIndex

        getal

      • windowId

        getal

onRemoved

browser.tabs.onRemoved.addListener(
  callback: function,
)

Wordt geactiveerd als een tabblad wordt gesloten.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (tabId: number, removeInfo: object) => void

    • tabId

      getal

    • removeInfo

      object

      • isWindowClosing

        booleaans

        Waar als het tabblad is gesloten omdat het bovenliggende venster is gesloten.

      • windowId

        getal

        Het venster waarvan het tabblad is gesloten.

onReplaced

browser.tabs.onReplaced.addListener(
  callback: function,
)

Wordt geactiveerd als een tabblad wordt vervangen door een ander tabblad vanwege pre-rendering of instant.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (addedTabId: number, removedTabId: number) => void

    • addedTabId

      getal

    • removedTabId

      getal

onUpdated

browser.tabs.onUpdated.addListener(
  callback: function,
)

Wordt geactiveerd als een tabblad wordt geüpdatet.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

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

    • tabId

      getal

    • changeInfo

      object

      • audible

        booleaans optioneel

        Chrome 45+ browser.* sinds Chrome 148

        De nieuwe hoorbare status van het tabblad.

      • autoDiscardable

        booleaans optioneel

        Chrome 54+ browser.* sinds Chrome 148

        De nieuwe status voor automatisch verwijderen van het tabblad.

      • verwijderd

        booleaans optioneel

        Chrome 54+ browser.* sinds Chrome 148

        De nieuwe beëindigde status van het tabblad.

      • favIconUrl

        tekenreeks optioneel

        De nieuwe favicon-URL van het tabblad.

      • vastgelopen

        booleaans optioneel

        Chrome 132+ browser.* sinds Chrome 148

        De nieuwe bevroren status van het tabblad.

      • groupId

        number optioneel

        Chrome 88 of hoger browser.* sinds Chrome 148

        De nieuwe groep van het tabblad.

      • mutedInfo

        MutedInfo optioneel

        Chrome 46+ browser.* sinds Chrome 148

        De nieuwe gedempte status van het tabblad en de reden voor de wijziging.

      • vastgezet

        booleaans optioneel

        De nieuwe vastgezette status van het tabblad.

      • splitViewId

        number optioneel

        Chrome 140+ browser.* sinds Chrome 148

        De nieuwe gesplitste weergave van het tabblad.

      • status

        TabStatus optioneel

        De laadstatus van het tabblad.

      • titel

        tekenreeks optioneel

        Chrome 48+ browser.* sinds Chrome 148

        De nieuwe titel van het tabblad.

      • url

        tekenreeks optioneel

        De URL van het tabblad als deze is gewijzigd.

    • tab

onZoomChange

browser.tabs.onZoomChange.addListener(
  callback: function,
)

Wordt geactiveerd als er wordt ingezoomd op een tabblad.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      object

      • newZoomFactor

        getal

      • oldZoomFactor

        getal

      • tabId

        getal

      • zoomSettings