chrome.tabbladen

Beschrijving

Gebruik de chrome.tabs API om te communiceren met het tabbladensysteem van de browser. Met deze API kunt u tabbladen in de browser maken, wijzigen en herschikken.

De Tabs API biedt niet alleen functies voor het manipuleren en beheren van tabbladen, maar kan ook de taal van het tabblad detecteren, een schermafbeelding maken en communiceren met de inhoudsscripts van een tabblad.

Toestemmingen

Voor de meeste functies zijn geen machtigingen nodig. Bijvoorbeeld: een nieuw tabblad openen , een tabblad vernieuwen , naar een andere URL navigeren , enzovoort.

Er zijn drie machtigingen waar ontwikkelaars rekening mee moeten houden bij het werken met de Tabs API.

De "tabs"-toestemming

Deze toestemming geeft geen toegang tot de namespace chrome.tabs . In plaats daarvan geeft het een extensie de mogelijkheid om tabs.query() aan te roepen voor vier gevoelige eigenschappen van tabs.Tab -instanties: url , pendingUrl , title en favIconUrl .

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

Met hostmachtigingen kan een extensie de vier gevoelige tabs.Tab -eigenschappen van een overeenkomend tabblad lezen en opvragen. Ze kunnen ook rechtstreeks met de overeenkomende tabbladen communiceren met behulp van methoden zoals tabs.captureVisibleTab() , scripting.executeScript() , scripting.insertCSS() en scripting.removeCSS() .

{
  "name": "My extension",
  ...
  "host_permissions": [
    "http://*/*",
    "https://*/*"
  ],
  ...
}
De "activeTab"-machtiging

activeTab verleent een extensie tijdelijke hostrechten voor het huidige tabblad als reactie op een gebruikersopdracht. In tegenstelling tot hostrechten geeft activeTab geen waarschuwingen.

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

Gebruiksvoorbeelden

De volgende paragrafen illustreren enkele veelvoorkomende gebruiksscenario's.

Een extensiepagina openen in een nieuw tabblad

Een veelvoorkomend patroon voor extensies is het openen van een onboardingpagina in een nieuw tabblad wanneer de extensie wordt geïnstalleerd. Het volgende voorbeeld laat zien hoe dit kan.

background.js:

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

Het huidige tabblad ophalen

Dit voorbeeld laat zien hoe een service worker van een extensie het actieve tabblad kan ophalen uit het venster dat momenteel de focus heeft (of het laatst geselecteerde venster, als er geen Chrome-vensters actief zijn). Dit kan doorgaans worden beschouwd als 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 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);
    });
  }

Dempen van het opgegeven tabblad

Dit voorbeeld laat zien hoe een extensie de dempingsstatus van een bepaald tabblad kan wijzigen.

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

Verplaats het huidige tabblad naar de eerste positie wanneer erop geklikt wordt.

Dit voorbeeld laat zien hoe je een tabblad kunt verplaatsen terwijl er al dan niet een sleepbewerking gaande is. Hoewel dit voorbeeld gebruikmaakt van chrome.tabs.move , kun je hetzelfde wachtpatroon gebruiken voor andere aanroepen die tabbladen wijzigen terwijl er een sleepbewerking gaande is.

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

Een bericht doorgeven aan het inhoudsscript van een geselecteerd tabblad

Dit voorbeeld laat zien hoe de service worker van een extensie kan communiceren met inhoudsscripts in specifieke browsertabbladen met behulp van 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.
}

Uitbreidingsvoorbeelden

Voor meer demonstraties van Tabs API-extensies kunt u een van de volgende voorbeelden bekijken:

Soorten

MutedInfo

Chrome 46+

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

Eigenschappen

  • extensie-ID

    string optioneel

    De ID van de extensie die de dempingsstatus heeft gewijzigd. Deze wordt niet ingesteld als een extensie niet de reden was dat de dempingsstatus voor het laatst is gewijzigd.

  • gedempt

    booleaans

    Of het tabblad gedempt is (geen geluid kan afspelen). Het tabblad kan gedempt zijn, zelfs als er geen geluid is afgespeeld of momenteel geen geluid wordt afgespeeld. Dit is vergelijkbaar met het weergeven van de 'gedempte' audio-indicator.

  • reden

    MutedInfoReason optioneel

    De reden waarom het tabblad gedempt of niet-gedempt is. Niet ingesteld als de dempingsstatus van het tabblad nooit is gewijzigd.

MutedInfoReason

Chrome 46+

Een gebeurtenis die een subtiele toestandsverandering veroorzaakte.

Enum

"gebruiker"
Een gebruikersactie heeft de gedempte status ingesteld.

"vastlegging"
Tabopname werd gestart, waardoor een gedempt statuswijziging werd afgedwongen.

"verlenging"
Een extensie, geïdentificeerd door het veld extensionId, heeft de gedempte status ingesteld.

Tab

Eigenschappen

  • actief

    booleaans

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

  • hoorbaar

    boolean optioneel

    Chrome 45+

    Of het tabblad de afgelopen paar seconden geluid heeft geproduceerd (maar het geluid is mogelijk niet hoorbaar als het ook gedempt is). Dit is vergelijkbaar met het feit of de 'luidsprekergeluid'-indicator brandt.

  • automatisch verwijderen

    booleaans

    Chrome 54+

    Of het tabblad automatisch door de browser kan worden gesloten wanneer er weinig resources beschikbaar zijn.

  • weggegooid

    booleaans

    Chrome 54+

    Of het tabblad is verwijderd. Een verwijderd tabblad is een tabblad waarvan de inhoud uit het geheugen is verwijderd, maar dat nog steeds zichtbaar is in de tabbladbalk. De inhoud wordt opnieuw geladen wanneer het tabblad de volgende keer wordt geopend.

  • favIconUrl

    string optioneel

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

  • bevroren

    booleaans

    Chrome 132+

    Of het tabblad bevroren is. Een bevroren tabblad kan geen taken uitvoeren, inclusief gebeurtenisafhandelaars of timers. Het is zichtbaar in de tabbladbalk en de inhoud ervan is in het geheugen geladen. Het wordt ontdooid bij activering.

  • groeps-ID

    nummer

    Chrome 88+

    De ID van de groep waartoe het tabblad behoort.

  • hoogte

    nummer optioneel

    De hoogte van het tabblad in pixels.

  • gemarkeerd

    booleaans

    Of het tabblad is gemarkeerd.

  • id

    nummer optioneel

    De ID van het tabblad. Tabblad-ID's zijn uniek binnen een browsersessie. In sommige gevallen krijgt een tabblad geen ID toegewezen; bijvoorbeeld bij het opvragen van externe tabbladen met behulp van de sessions API, in welk geval er een sessie-ID aanwezig kan zijn. De tabblad-ID kan ook worden ingesteld op chrome.tabs.TAB_ID_NONE voor apps en ontwikkelaarstoolsvensters.

  • incognito

    booleaans

    Of het tabblad zich in een incognitovenster bevindt.

  • index

    nummer

    De nulgebaseerde index van het tabblad binnen het venster.

  • laatst geraadpleegd

    nummer

    Chrome 121+

    Het laatste moment dat het tabblad actief werd in het venster, wordt weergegeven als het aantal milliseconden sinds de epoch.

  • gedempte informatie
    Chrome 46+

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

  • openerTabId

    nummer optioneel

    De ID van het tabblad dat dit tabblad heeft geopend, indien aanwezig. Deze eigenschap is alleen aanwezig als het openende tabblad nog bestaat.

  • pendingUrl

    string optioneel

    Chrome 79+

    De URL waarnaar het tabblad navigeert, voordat de actie is voltooid. Deze eigenschap is alleen aanwezig als de extensie de "tabs" -machtiging heeft of hostmachtigingen voor de pagina heeft en er een navigatie in behandeling is.

  • vastgepind

    booleaans

    Of het tabblad is vastgezet.

  • gekozen

    booleaans

    Verouderd

    Gebruik alstublieft tabs.Tab.highlighted .

    Of het tabblad is geselecteerd.

  • sessie-ID

    string optioneel

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

  • splitViewId

    nummer optioneel

    In behandeling

    De ID van de Split View waartoe het tabblad behoort.

  • status

    TabStatus optioneel

    De laadstatus van het tabblad.

  • titel

    string optioneel

    De titel van het tabblad. Deze eigenschap is alleen aanwezig als de extensie de machtiging "tabs" heeft of hostmachtigingen voor de pagina heeft.

  • URL

    string optioneel

    De laatst opgeslagen URL van het hoofdvenster van het tabblad. Deze eigenschap is alleen aanwezig als de extensie de machtiging "tabs" heeft of hostmachtigingen voor de pagina. Kan een lege tekenreeks zijn als het tabblad nog niet is opgeslagen. Zie ook Tab.pendingUrl .

  • breedte

    nummer optioneel

    De breedte van het tabblad in pixels.

  • venster-ID

    nummer

    De ID van het venster dat het tabblad bevat.

TabStatus

Chrome 44+

De laadstatus van het tabblad.

Enum

"uitgeladen"

"laden"

"compleet"

WindowType

Chrome 44+

Het type raam.

Enum

"normaal"

"pop-up"

"paneel"

"app"

"ontwikkeltools"

ZoomSettings

Definieert hoe zoomwijzigingen in een tabblad worden verwerkt en op welk niveau.

Eigenschappen

  • standaardzoomfactor

    nummer optioneel

    Chrome 43+

    Wordt gebruikt om het standaard zoomniveau voor het huidige tabblad terug te geven bij aanroepen van tabs.getZoomSettings.

  • modus

    ZoomSettingsMode optioneel

    Definieert hoe zoomwijzigingen worden afgehandeld, d.w.z. welke entiteit verantwoordelijk is voor het daadwerkelijk schalen van de pagina; standaard is dit automatic .

  • domein

    Hiermee wordt bepaald of zoomwijzigingen van kracht blijven voor de oorspronkelijke pagina, of alleen in dit tabblad; standaard is dit per-origin in de automatic modus en per-tab in andere gevallen.

ZoomSettingsMode

Chrome 44+

Definieert hoe zoomwijzigingen worden afgehandeld, d.w.z. welke entiteit verantwoordelijk is voor het daadwerkelijk schalen van de pagina; standaard is dit automatic .

Enum

"automatisch"
Zoomwijzigingen worden automatisch door de browser verwerkt.

"handmatig"
Deze modus overschrijft de automatische afhandeling van zoomwijzigingen. De onZoomChange gebeurtenis wordt nog steeds verzonden en het is de verantwoordelijkheid van de extensie om naar deze gebeurtenis te luisteren en de pagina handmatig te schalen. Deze modus ondersteunt geen zoomen per-origin en negeert daarom de zoominstelling scope en gaat uit van zoomen per-tab .

"gehandicapt"
Schakelt alle zoomfuncties in het tabblad uit. Het tabblad keert terug naar het standaard zoomniveau en alle pogingen tot zoomwijzigingen worden genegeerd.

ZoomSettingsScope

Chrome 44+

Hiermee wordt bepaald of zoomwijzigingen van kracht blijven voor de oorspronkelijke pagina, of alleen in dit tabblad; standaard is dit per-origin in de automatic modus en per-tab in andere gevallen.

Enum

"per oorsprong"
Zoomwijzigingen blijven behouden in de oorspronkelijke pagina van de ingezoomde pagina, d.w.z. alle andere tabbladen die naar diezelfde oorspronkelijke pagina navigeren, worden ook ingezoomd. Bovendien worden zoomwijzigingen per-origin opgeslagen met de oorspronkelijke pagina, wat betekent dat wanneer u naar andere pagina's in dezelfde oorspronkelijke pagina navigeert, deze allemaal met dezelfde zoomfactor worden ingezoomd. De mogelijkheid om zoomwijzigingen per-origin pagina in te stellen is alleen beschikbaar in de automatic modus.

"per tabblad"
Zoomwijzigingen zijn alleen van toepassing op dit tabblad; zoomwijzigingen in andere tabbladen hebben geen invloed op de zoominstellingen van dit tabblad. Bovendien worden zoomwijzigingen per-tab gereset bij het navigeren; bij het navigeren naar een tabblad worden pagina's altijd geladen met de zoomfactoren die per-origin .

Eigenschappen

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92+

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

Waarde

2

SPLIT_VIEW_ID_NONE

In behandeling

Een ID die aangeeft dat er geen gesplitst tabblad is.

Waarde

-1

TAB_ID_NONE

Chrome 46+

Een ID die aangeeft dat er geen browsertabblad is geopend.

Waarde

-1

TAB_INDEX_NONE

Chrome 123+

Een index die de afwezigheid van een tabindex in een tabstrip aangeeft.

Waarde

-1

Methoden

captureVisibleTab()

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

Legt het zichtbare gedeelte van het momenteel actieve tabblad in het opgegeven venster vast. Om deze methode aan te roepen, moet de extensie de machtiging <all_urls> of de machtiging activeTab hebben. Naast sites die extensies normaal gesproken kunnen benaderen, stelt deze methode extensies in staat om gevoelige sites vast te leggen 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 de machtiging activeTab. Bestands-URL's kunnen alleen worden vastgelegd als de extensie bestandstoegang heeft gekregen.

Parameters

Retourneert

  • Belofte<string>

    Chrome 88+

connect()

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

Maakt verbinding met de inhoudsscripts in het opgegeven tabblad. De runtime.onConnect gebeurtenis wordt geactiveerd in elk inhoudsscript dat in het opgegeven tabblad voor de huidige extensie wordt uitgevoerd. Zie Inhoudsscriptberichten voor meer informatie.

Parameters

  • tabId

    nummer

  • verbindingsinfo

    object optioneel

    • documentId

      string optioneel

      Chrome 106+

      Open een poort naar een specifiek document , geïdentificeerd door documentId in plaats van naar alle frames in het tabblad.

    • frameId

      nummer optioneel

      Open een poort voor een specifiek frame , geïdentificeerd door frameId in plaats van voor alle frames in het tabblad.

    • naam

      string optioneel

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

Retourneert

  • Een poort die gebruikt kan worden om te communiceren met de scripts die in het opgegeven tabblad draaien. De runtime.Port -gebeurtenis van de poort wordt geactiveerd als het tabblad sluit of niet bestaat.

create()

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

Opent een nieuw tabblad.

Parameters

  • eigenschappen maken

    voorwerp

    • actief

      boolean optioneel

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

    • index

      nummer optioneel

      De positie die het tabblad in het venster moet innemen. De opgegeven waarde wordt begrensd tot een waarde tussen nul en het aantal tabbladen in het venster.

    • openerTabId

      nummer optioneel

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

    • vastgepind

      boolean optioneel

      Of het tabblad vastgezet moet worden. Standaardwaarde is false

    • gekozen

      boolean optioneel

      Verouderd

      Gebruik alstublieft de actieve optie .

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

    • URL

      string optioneel

      De URL waarnaar het tabblad in eerste instantie moet worden geopend. 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 binnen de extensie. Standaard is dit de pagina voor nieuwe tabbladen.

    • venster-ID

      nummer optioneel

      Het venster waarin het nieuwe tabblad moet worden aangemaakt. Standaard is dit het huidige venster .

Retourneert

  • Belofte< Tab >

    Chrome 88+

detectLanguage()

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

Detecteert de primaire taal van de inhoud in een tabblad.

Parameters

  • tabId

    nummer optioneel

    Standaard wordt het actieve tabblad van het huidige venster gebruikt.

Retourneert

  • Belofte<string>

    Chrome 88+

discard()

Chrome 54+
chrome.tabs.discard(
  tabId?: number,
)
: Promise<Tab | undefined>

Verwijdert een tabblad uit het geheugen. Verwijderde tabbladen blijven zichtbaar in de tabbladbalk en worden opnieuw geladen wanneer ze worden geactiveerd.

Parameters

  • tabId

    nummer optioneel

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

Retourneert

  • Belofte< Tab | niet gedefinieerd>

    Chrome 88+

duplicate()

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

Dupliceert een tabblad.

Parameters

  • tabId

    nummer

    De ID van het tabblad dat gedupliceerd moet worden.

Retourneert

  • Belofte< Tab | niet gedefinieerd>

    Chrome 88+

get()

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

Geeft details weer over het opgegeven tabblad.

Parameters

  • tabId

    nummer

Retourneert

  • Belofte< Tab >

    Chrome 88+

getCurrent()

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

Geeft het tabblad weer van waaruit deze scriptaanroep wordt gedaan. Retourneert undefined als de aanroep plaatsvindt vanuit een andere context dan een tabblad (bijvoorbeeld een achtergrondpagina of pop-upvenster).

Retourneert

  • Belofte< Tab | niet gedefinieerd>

    Chrome 88+

getZoom()

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

Geeft de huidige zoomfactor van een specifiek tabblad weer.

Parameters

  • tabId

    nummer optioneel

    De ID van het tabblad waarvan de huidige zoomfactor moet worden opgehaald; standaard is dit het actieve tabblad van het huidige venster.

Retourneert

  • Belofte<nummer>

    Chrome 88+

getZoomSettings()

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

Geeft de huidige zoominstellingen van een specifiek tabblad weer.

Parameters

  • tabId

    nummer optioneel

    De ID van het tabblad waarvan de huidige zoominstellingen moeten worden opgehaald; standaard is dit het actieve tabblad van het huidige venster.

Retourneert

goBack()

Chrome 72+
chrome.tabs.goBack(
  tabId?: number,
)
: Promise<void>

Ga terug naar de vorige pagina, indien beschikbaar.

Parameters

  • tabId

    nummer optioneel

    De ID van het tabblad waarnaar u wilt terugkeren; standaard is dit het geselecteerde tabblad van het huidige venster.

Retourneert

  • Promise<void>

    Chrome 88+

goForward()

Chrome 72+
chrome.tabs.goForward(
  tabId?: number,
)
: Promise<void>

Ga door naar de volgende pagina, indien beschikbaar.

Parameters

  • tabId

    nummer optioneel

    De ID van het tabblad waarnaar u wilt navigeren; standaard is dit het geselecteerde tabblad van het huidige venster.

Retourneert

  • Promise<void>

    Chrome 88+

group()

Chrome 88+
chrome.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 opgegeven tabbladen toe aan een nieuw aangemaakte groep.

Parameters

  • opties

    voorwerp

    • eigenschappen maken

      object optioneel

      Configuratie-opties voor het aanmaken van een groep. Kan niet worden gebruikt als de groupId al is opgegeven.

      • venster-ID

        nummer optioneel

        Het venster van de nieuwe groep. Standaard wordt het huidige venster gebruikt.

    • groeps-ID

      nummer optioneel

      De ID van de groep waaraan de tabbladen moeten worden toegevoegd. Indien niet opgegeven, wordt een nieuwe groep aangemaakt.

    • tabIds

      nummer | [nummer, ...nummer[]]

      De tab-ID of lijst met tab-ID's die aan de opgegeven groep moeten worden toegevoegd.

Retourneert

  • Belofte<nummer>

highlight()

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

Markeer de opgegeven tabbladen en focus op het eerste tabblad van de groep. Lijkt niets te doen als het opgegeven tabblad al actief is.

Parameters

  • highlightInfo

    voorwerp

    • tabbladen

      nummer | nummer[]

      Een of meer tabindexen om te markeren.

    • venster-ID

      nummer optioneel

      Het venster dat de tabbladen bevat.

Retourneert

move()

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

Verplaatst een of meer tabbladen naar een nieuwe positie binnen het venster, of naar een nieuw venster. Houd er rekening mee dat tabbladen alleen naar en van normale vensters (window.type === "normal") kunnen worden verplaatst.

Parameters

  • tabIds

    nummer | nummer[]

    De tab-ID of de lijst met tab-ID's die verplaatst moeten worden.

  • verhuizenEigenschappen

    voorwerp

    • index

      nummer

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

    • venster-ID

      nummer optioneel

      Standaard wordt het venster gebruikt waarin het tabblad zich momenteel bevindt.

Retourneert

  • Belofte< Tab | Tab []>

    Chrome 88+

query()

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

Geeft alle tabbladen weer die de opgegeven eigenschappen hebben, of alle tabbladen als er geen eigenschappen zijn opgegeven.

Parameters

  • queryInfo

    voorwerp

    • actief

      boolean optioneel

      Of de tabbladen actief zijn in hun vensters.

    • hoorbaar

      boolean optioneel

      Chrome 45+

      Of de tabulatuur hoorbaar is.

    • automatisch verwijderen

      boolean optioneel

      Chrome 54+

      Of de tabbladen automatisch door de browser kunnen worden gesloten wanneer er weinig resources beschikbaar zijn.

    • huidigVenster

      boolean optioneel

      Of de tabbladen zich in het huidige venster bevinden.

    • weggegooid

      boolean optioneel

      Chrome 54+

      Of de tabbladen worden verwijderd. Een verwijderd tabblad is een tabblad waarvan de inhoud uit het geheugen is verwijderd, maar dat nog steeds zichtbaar is in de tabbladbalk. De inhoud wordt opnieuw geladen wanneer het tabblad de volgende keer wordt geactiveerd.

    • bevroren

      boolean optioneel

      Chrome 132+

      Of de tabbladen bevroren zijn. Een bevroren tabblad kan geen taken uitvoeren, inclusief gebeurtenisafhandelaars of timers. Het is zichtbaar in de tabbladbalk en de inhoud ervan is in het geheugen geladen. Het wordt ontdooid bij activering.

    • groeps-ID

      nummer optioneel

      Chrome 88+

      De ID van de groep waartoe de tabbladen behoren, of tabGroups.TAB_GROUP_ID_NONE voor tabbladen die niet in een groep zijn ingedeeld.

    • gemarkeerd

      boolean optioneel

      Of de tabbladen gemarkeerd zijn.

    • index

      nummer optioneel

      De positie van de tabbladen binnen hun vensters.

    • laatstgefocustvenster

      boolean optioneel

      Of de tabbladen zich in het laatst geselecteerde venster bevinden.

    • gedempt

      boolean optioneel

      Chrome 45+

      Of de tabbladen gedempt zijn.

    • vastgepind

      boolean optioneel

      Of de tabbladen vastgezet zijn.

    • splitViewId

      nummer optioneel

      Chrome 140+

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

    • status

      TabStatus optioneel

      De laadstatus van het tabblad.

    • titel

      string optioneel

      Vergelijk paginatitels met een patroon. Deze eigenschap wordt genegeerd als de extensie niet de "tabs" -machtiging of hostmachtigingen voor de pagina heeft.

    • URL

      string | string[] optioneel

      Vergelijk tabbladen met een of meer URL-patronen . Fragment-ID's worden niet vergeleken. Deze eigenschap wordt genegeerd als de extensie niet de "tabs" -machtiging of hostmachtigingen voor de pagina heeft.

    • venster-ID

      nummer optioneel

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

    • venstertype

      WindowType optioneel

      Het type venster waarin de tabbladen zich bevinden.

Retourneert

  • Belofte< Tab []>

    Chrome 88+

reload()

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

Een tabblad opnieuw laden.

Parameters

  • tabId

    nummer optioneel

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

  • eigenschappen opnieuw laden

    object optioneel

    • bypassCache

      boolean optioneel

      Of lokale caching moet worden overgeslagen. Standaard is dit false .

Retourneert

  • Promise<void>

    Chrome 88+

remove()

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

Sluit een of meer tabbladen.

Parameters

  • tabIds

    nummer | nummer[]

    De tab-ID of de lijst met tab-ID's die gesloten moeten worden.

Retourneert

  • Promise<void>

    Chrome 88+

sendMessage()

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

Verstuurt een enkel bericht naar het inhoudsscript(en) in het opgegeven tabblad, met een optionele callback die wordt uitgevoerd wanneer een reactie wordt teruggestuurd. De runtime.onMessage -gebeurtenis wordt geactiveerd in elk inhoudsscript dat in het opgegeven tabblad voor de huidige extensie wordt uitgevoerd.

Parameters

  • tabId

    nummer

  • bericht

    elk

    Het te verzenden bericht. Dit bericht moet een object zijn dat naar JSON kan worden geconverteerd.

  • opties

    object optioneel

    • documentId

      string optioneel

      Chrome 106+

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

    • frameId

      nummer optioneel

      Stuur een bericht naar een specifiek frame , geïdentificeerd door frameId in plaats van naar alle frames in het tabblad.

Retourneert

  • Belofte<willekeurig>

    Chrome 99+

setZoom()

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

Zoomt in op een specifiek tabblad.

Parameters

  • tabId

    nummer optioneel

    De ID van het tabblad waarop u wilt inzoomen; standaard is dit het actieve tabblad van het huidige venster.

  • zoomFactor

    nummer

    De nieuwe zoomfactor. Een waarde van 0 stelt het tabblad in op de huidige standaard zoomfactor. Waarden groter dan 0 specificeren een (mogelijk niet-standaard) zoomfactor voor het tabblad.

Retourneert

  • Promise<void>

    Chrome 88+

setZoomSettings()

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

Hiermee worden de zoominstellingen voor een specifiek tabblad ingesteld. Deze instellingen bepalen hoe zoomwijzigingen worden verwerkt. Bij het navigeren naar het tabblad worden deze instellingen teruggezet naar de standaardwaarden.

Parameters

  • tabId

    nummer optioneel

    De ID van het tabblad waarvoor de zoominstellingen moeten worden gewijzigd; standaard is dit het actieve tabblad van het huidige venster.

  • zoomInstellingen

    Definieert hoe zoomwijzigingen worden verwerkt en op welk niveau.

Retourneert

  • Promise<void>

    Chrome 88+

ungroup()

Chrome 88+
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
)
: Promise<void>

Verwijdert een of meer tabbladen uit hun respectievelijke groepen. Als groepen leeg raken, worden ze verwijderd.

Parameters

  • tabIds

    nummer | [nummer, ...nummer[]]

    De tab-ID of de lijst met tab-ID's die uit de betreffende groepen verwijderd moeten worden.

Retourneert

  • Promise<void>

update()

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

Hiermee worden de eigenschappen van een tabblad gewijzigd. Eigenschappen die niet in updateProperties zijn gespecificeerd, worden niet gewijzigd.

Parameters

  • tabId

    nummer optioneel

    Standaard wordt het geselecteerde tabblad van het huidige venster gebruikt.

  • eigenschappen bijwerken

    voorwerp

    • actief

      boolean optioneel

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

    • automatisch verwijderen

      boolean optioneel

      Chrome 54+

      Of het tabblad automatisch door de browser moet worden gesloten wanneer er weinig resources beschikbaar zijn.

    • gemarkeerd

      boolean optioneel

      Voegt het tabblad toe aan of verwijdert het uit de huidige selectie.

    • gedempt

      boolean optioneel

      Chrome 45+

      Of het tabblad gedempt moet worden.

    • openerTabId

      nummer optioneel

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

    • vastgepind

      boolean optioneel

      Of het tabblad vastgezet moet worden.

    • gekozen

      boolean optioneel

      Verouderd

      Gebruik de gemarkeerde tekst .

      Of het tabblad geselecteerd moet worden.

    • URL

      string optioneel

      Een URL om naar het tabblad te navigeren. JavaScript-URL's worden niet ondersteund; gebruik in plaats daarvan scripting.executeScript .

Retourneert

  • Belofte< Tab | niet gedefinieerd>

    Chrome 88+

Evenementen

onActivated

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

Deze gebeurtenis wordt geactiveerd wanneer het actieve tabblad in een venster verandert. Houd er rekening mee dat de URL van het tabblad mogelijk nog niet is ingesteld op het moment dat deze gebeurtenis wordt geactiveerd, maar u kunt luisteren naar onUpdated-gebeurtenissen om een ​​melding te ontvangen wanneer een URL is ingesteld.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (activeInfo: object) => void

    • actieveInfo

      voorwerp

      • tabId

        nummer

        De ID van het tabblad dat actief is geworden.

      • venster-ID

        nummer

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

onAttached

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

Deze gebeurtenis wordt geactiveerd wanneer een tabblad aan een venster wordt gekoppeld, bijvoorbeeld omdat het tussen vensters is verplaatst.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

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

    • tabId

      nummer

    • attachInfo

      voorwerp

      • nieuwe positie

        nummer

      • nieuweVensterID

        nummer

onCreated

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

Deze gebeurtenis wordt geactiveerd wanneer een tabblad wordt aangemaakt. Houd er rekening mee dat de URL van het tabblad en het lidmaatschap van de tabbladgroep mogelijk nog niet zijn ingesteld op het moment dat deze gebeurtenis wordt geactiveerd. U kunt echter luisteren naar onUpdated-gebeurtenissen om een ​​melding te ontvangen wanneer een URL is ingesteld of het tabblad aan een tabbladgroep is toegevoegd.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (tab: Tab) => void

onDetached

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

Deze gebeurtenis wordt geactiveerd wanneer een tabblad wordt losgekoppeld van een venster, bijvoorbeeld omdat het tussen vensters is verplaatst.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

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

    • tabId

      nummer

    • detachInfo

      voorwerp

      • oude positie

        nummer

      • oudeVensterID

        nummer

onHighlighted

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

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

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (highlightInfo: object) => void

    • highlightInfo

      voorwerp

      • tabIds

        nummer[]

        Alle gemarkeerde tabbladen in het venster.

      • venster-ID

        nummer

        Het venster waarvan de tabbladen zijn gewijzigd.

onMoved

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

Deze gebeurtenis wordt geactiveerd wanneer een tabblad binnen een venster wordt verplaatst. Er wordt slechts één verplaatsingsgebeurtenis geactiveerd, namelijk voor het tabblad dat de gebruiker direct heeft verplaatst. Verplaatsingsgebeurtenissen worden niet geactiveerd voor de andere tabbladen die moeten meeverplaatsen als reactie op het handmatig verplaatste tabblad. Deze gebeurtenis wordt niet geactiveerd wanneer een tabblad tussen vensters wordt verplaatst; zie tabs.onDetached voor meer informatie.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

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

    • tabId

      nummer

    • moveInfo

      voorwerp

      • uit Index

        nummer

      • naarIndex

        nummer

      • venster-ID

        nummer

onRemoved

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

Wordt geactiveerd wanneer een tabblad wordt gesloten.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

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

    • tabId

      nummer

    • removeInfo

      voorwerp

      • isVenstersluiten

        booleaans

        Dit klopt wanneer het tabblad is gesloten omdat het bovenliggende venster is gesloten.

      • venster-ID

        nummer

        Het venster waarvan het tabblad gesloten is.

onReplaced

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

Wordt geactiveerd wanneer een tabblad wordt vervangen door een ander tabblad als gevolg van prerendering of instant rendering.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

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

    • toegevoegdeTabId

      nummer

    • verwijderdeTabId

      nummer

onUpdated

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

Wordt geactiveerd wanneer een tabblad wordt bijgewerkt.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

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

    • tabId

      nummer

    • changeInfo

      voorwerp

      • hoorbaar

        boolean optioneel

        Chrome 45+

        De nieuwe hoorbare status van het tabblad.

      • automatisch verwijderen

        boolean optioneel

        Chrome 54+

        De nieuwe, automatisch te sluiten status van het tabblad.

      • weggegooid

        boolean optioneel

        Chrome 54+

        De nieuwe, verwijderde status van het tabblad.

      • favIconUrl

        string optioneel

        De nieuwe URL voor het favicon van het tabblad.

      • bevroren

        boolean optioneel

        Chrome 132+

        De tab bevindt zich nu in een bevroren toestand.

      • groeps-ID

        nummer optioneel

        Chrome 88+

        De nieuwe groep van het tabblad.

      • gedempte informatie
        Chrome 46+

        De nieuwe, gedempte status van het tabblad en de reden voor deze verandering.

      • vastgepind

        boolean optioneel

        De nieuwe vastgezette status van het tabblad.

      • splitViewId

        nummer optioneel

        Chrome 140+

        De nieuwe gesplitste weergave van het tabblad.

      • status

        TabStatus optioneel

        De laadstatus van het tabblad.

      • titel

        string optioneel

        Chrome 48+

        De nieuwe titel van het tabblad.

      • URL

        string optioneel

        De URL van het tabblad, indien deze is gewijzigd.

    • tab

onZoomChange

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

Wordt geactiveerd wanneer er op een tabblad wordt ingezoomd.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      voorwerp

      • nieuwe ZoomFactor

        nummer

      • oude ZoomFactor

        nummer

      • tabId

        nummer

      • zoomInstellingen