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 omtabs.query()aan te roepen voor vier gevoelige eigenschappen vantabs.Tab-instanties:url,pendingUrl,titleenfavIconUrl.{ "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 zoalstabs.captureVisibleTab(),scripting.executeScript(),scripting.insertCSS()enscripting.removeCSS().{ "name": "My extension", ... "host_permissions": [ "http://*/*", "https://*/*" ], ... }- De "activeTab"-machtiging
activeTabverleent een extensie tijdelijke hostrechten voor het huidige tabblad als reactie op een gebruikersopdracht. In tegenstelling tot hostrechten geeftactiveTabgeen 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
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
Een gebeurtenis die een subtiele toestandsverandering veroorzaakte.
Enum
"gebruiker" "vastlegging" "verlenging"
Een gebruikersactie heeft de gedempte status ingesteld.
Tabopname werd gestart, waardoor een gedempt statuswijziging werd afgedwongen.
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
sessionsAPI, in welk geval er een sessie-ID aanwezig kan zijn. De tabblad-ID kan ook worden ingesteld opchrome.tabs.TAB_ID_NONEvoor 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
Gedempte informatie optioneel
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
VerouderdGebruik 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
sessionsAPI. - splitViewId
nummer optioneel
In behandelingDe 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 ookTab.pendingUrl. - breedte
nummer optioneel
De breedte van het tabblad in pixels.
- venster-ID
nummer
De ID van het venster dat het tabblad bevat.
TabStatus
De laadstatus van het tabblad.
Enum
"uitgeladen" "laden" "compleet"
WindowType
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
ZoomSettingsScope optioneel
Hiermee wordt bepaald of zoomwijzigingen van kracht blijven voor de oorspronkelijke pagina, of alleen in dit tabblad; standaard is dit
per-originin deautomaticmodus enper-tabin andere gevallen.
ZoomSettingsMode
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" "handmatig" "gehandicapt"
Zoomwijzigingen worden automatisch door de browser verwerkt.
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 .
Schakelt alle zoomfuncties in het tabblad uit. Het tabblad keert terug naar het standaard zoomniveau en alle pogingen tot zoomwijzigingen worden genegeerd.
ZoomSettingsScope
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" "per tabblad"
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.
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
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
Een ID die aangeeft dat er geen gesplitst tabblad is.
Waarde
-1
TAB_ID_NONE
Een ID die aangeeft dat er geen browsertabblad is geopend.
Waarde
-1
TAB_INDEX_NONE
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
- venster-ID
nummer optioneel
Het doelvenster. Standaard is dit het huidige venster .
- opties
Afbeeldingsdetails optioneel
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
documentIdin plaats van naar alle frames in het tabblad. - frameId
nummer optioneel
Open een poort voor een specifiek frame , geïdentificeerd door
frameIdin 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.
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 istrue. - 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
VerouderdGebruik 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.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+
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
Belofte< Zoominstellingen >
Chrome 88+
goBack()
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.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.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
Promise< windows.Window >
Chrome 88+
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
-1om 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.
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_NONEvoor 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_NONEvoor 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_CURRENTvoor 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
frameIdin 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
0stelt het tabblad in op de huidige standaard zoomfactor. Waarden groter dan0specificeren 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.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
VerouderdGebruik 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
callbackparameter 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
callbackparameter 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
callbackparameter ziet er als volgt uit:(tab: Tab) => void
- tab
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
callbackparameter 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
callbackparameter 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
callbackparameter 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
callbackparameter 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
callbackparameter 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
callbackparameter 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
Gedempte informatie optioneel
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
callbackparameter ziet er als volgt uit:(ZoomChangeInfo: object) => void
- ZoomChangeInfo
voorwerp
- nieuwe ZoomFactor
nummer
- oude ZoomFactor
nummer
- tabId
nummer
- zoomInstellingen