Beschrijving
Gebruik de chrome.tabs
API om te communiceren met het tabbladsysteem van de browser. U kunt deze API gebruiken om tabbladen in de browser aan te maken, te wijzigen en opnieuw te ordenen.
De Tabs API biedt niet alleen functies voor het bewerken en beheren van tabbladen, maar kan ook de taal van het tabblad detecteren, een schermafbeelding maken en communiceren met de inhoudsscripts van een tabblad.
Machtigingen
Voor de meeste functies zijn geen rechten vereist. Bijvoorbeeld: een nieuw tabblad aanmaken , een tabblad herladen , naar een andere URL navigeren , enz.
Er zijn drie machtigingen waar ontwikkelaars rekening mee moeten houden wanneer ze met de Tabs API werken.
- De toestemming 'tabbladen'
Deze machtiging geeft geen toegang tot de
chrome.tabs
-naamruimte. In plaats daarvan geeft het een extensie de mogelijkheid omtabs.query()
aan te roepen voor vier gevoelige eigenschappen optabs.Tab
-instanties:url
,pendingUrl
,title
enfavIconUrl
.{ "name": "My extension", ... "permissions": [ "tabs" ], ... }
- Hostmachtigingen
Met hostmachtigingen kan een extensie de vier gevoelige
tabs.Tab
-eigenschappen van een overeenkomend tabblad lezen en raadplegen. Ze kunnen ook rechtstreeks met de overeenkomende tabbladen communiceren via methoden zoalstabs.captureVisibleTab()
,scripting.executeScript()
,scripting.insertCSS()
enscripting.removeCSS()
.{ "name": "My extension", ... "host_permissions": [ "http://*/*", "https://*/*" ], ... }
- De machtiging "activeTab"
activeTab
verleent een extensie tijdelijke hostrechten voor het huidige tabblad als reactie op een gebruikersaanroep. In tegenstelling tot hostrechten genereertactiveTab
geen waarschuwingen.{ "name": "My extension", ... "permissions": [ "activeTab" ], ... }
Gebruiksscenario's
In de volgende secties worden enkele veelvoorkomende gebruiksgevallen besproken.
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 is geïnstalleerd. Het volgende voorbeeld laat zien hoe u dit doet.
achtergrond.js:
chrome.runtime.onInstalled.addListener(({reason}) => {
if (reason === 'install') {
chrome.tabs.create({
url: "onboarding.html"
});
}
});
Het huidige tabblad ophalen
Dit voorbeeld laat zien hoe de service worker van een extensie het actieve tabblad kan ophalen uit het momenteel actieve venster (of het meest recent actieve venster, als er geen Chrome-vensters actief zijn). Dit kan meestal 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);
});
}
Het opgegeven tabblad dempen
Dit voorbeeld laat zien hoe een extensie de gedempte status voor een bepaald tabblad kan in- of uitschakelen.
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 wordt geklikt
Dit voorbeeld laat zien hoe je een tabblad kunt verplaatsen terwijl er al dan niet wordt gesleept. Hoewel dit voorbeeld chrome.tabs.move
gebruikt, kun je hetzelfde wachtpatroon gebruiken voor andere aanroepen waarbij tabbladen worden gewijzigd terwijl er wordt gesleept.
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.
}
Voorbeelden van uitbreidingen
Voor meer demo's van Tabs API-extensies kunt u het volgende bekijken:
Typen
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 gedempte status heeft gewijzigd. Wordt niet ingesteld als een extensie niet de reden was dat de gedempte status voor het laatst is gewijzigd.
- gedempt
Booleaanse
Of het tabblad gedempt is (geen geluid afspelen). Het tabblad kan gedempt zijn, zelfs als er geen geluid is afgespeeld of er momenteel geen geluid wordt afgespeeld. Dit is gelijk aan of de audio-indicator 'gedempt' wordt weergegeven.
- reden
MutedInfoReason optioneel
De reden waarom het tabblad is gedempt of niet. Wordt niet ingesteld als de gedempt status van het tabblad nooit is gewijzigd.
MutedInfoReason
Een gebeurtenis die een gedempte statuswijziging veroorzaakte.
Enum
"gebruiker" "vastlegging" "verlenging"
Met een invoeractie van de gebruiker wordt de gedempte status ingesteld.
Tabbladregistratie is gestart, waardoor een gedempte statuswijziging is afgedwongen.
Een extensie, geïdentificeerd door het extensionId-veld, stelt de gedempte status in.
Tab
Eigenschappen
- actief
Booleaanse
Of het tabblad actief is in het venster. Dit betekent niet per se dat het venster de focus heeft.
- hoorbaar
boolean optioneel
Chroom 45+Of het tabblad de afgelopen seconden geluid heeft geproduceerd (maar mogelijk niet hoorbaar is als het ook gedempt is). Equivalent aan of de indicator 'luidsprekeraudio' zichtbaar is.
- automatisch wegwerpbaar
Booleaanse
Chroom 54+Of het tabblad automatisch door de browser kan worden verwijderd wanneer er weinig bronnen beschikbaar zijn.
- weggegooid
Booleaanse
Chroom 54+Of het tabblad wordt verwijderd. Een verwijderd tabblad is een tabblad waarvan de inhoud uit het geheugen is verwijderd, maar nog steeds zichtbaar is in de tabbladenstrook. De inhoud wordt opnieuw geladen wanneer het tabblad de volgende keer wordt geactiveerd.
- 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
Booleaanse
Chroom 132+Of het tabblad is vastgelopen. Een vastgelopen tabblad kan geen taken uitvoeren, inclusief gebeurtenisafhandeling of timers. Het is zichtbaar in de tabbladenstrook en de inhoud ervan wordt in het geheugen geladen. Het wordt weer vrijgegeven bij activering.
- groeps-ID
nummer
Chroom 88+De ID van de groep waartoe het tabblad behoort.
- hoogte
nummer optioneel
De hoogte van het tabblad in pixels.
- gemarkeerd
Booleaanse
Of het tabblad gemarkeerd is.
- id
nummer optioneel
De ID van het tabblad. Tabblad-ID's zijn uniek binnen een browsersessie. Onder bepaalde omstandigheden kan een tabblad geen ID toegewezen krijgen, bijvoorbeeld bij het raadplegen van externe tabbladen via de
sessions
API. In dat geval kan er wel een sessie-ID aanwezig zijn. De tabblad-ID kan ook worden ingesteld opchrome.tabs.TAB_ID_NONE
voor apps en devtools-vensters. - incognito
Booleaanse
Of het tabblad zich in een incognitovenster bevindt.
- index
nummer
De op nul gebaseerde index van het tabblad binnen het venster.
- laatstgeraadpleegd
nummer
Chroom 121+Het aantal milliseconden sinds het tijdperk waarin het tabblad voor het laatst actief werd in het venster.
- gedempteInfo
MutedInfo optioneel
Chroom 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 van toepassing. Deze eigenschap is alleen aanwezig als het tabblad waarmee het is geopend nog bestaat.
- in afwachting van URL
string optioneel
Chroom 79+De URL waarnaar het tabblad navigeert, voordat de koppeling is voltooid. Deze eigenschap is alleen aanwezig als de extensie de machtiging
"tabs"
heeft of hostmachtigingen voor de pagina heeft en er navigatie in behandeling is. - vastgepind
Booleaanse
Of het tabblad is vastgezet.
- gekozen
Booleaanse
VerouderdGebruik
tabs.Tab.highlighted
.Of het tabblad geselecteerd is.
- sessie-ID
string optioneel
De sessie-ID die wordt gebruikt om een tabblad eenduidig te identificeren, verkregen via de
sessions
API. - toestand
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. - url
string optioneel
De laatst toegewezen URL van het hoofdframe 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 toegewezen. 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
"ontladen" "laden" "compleet"
WindowType
Het type raam.
Enum
"normaal" "pop-up" "paneel" "toepassing" "ontwikkelaars"
ZoomSettings
Bepaalt hoe zoomwijzigingen in een tabblad worden verwerkt en met welk bereik.
Eigenschappen
- standaardZoomFactor
nummer optioneel
Chroom 43+Wordt gebruikt om het standaardzoomniveau voor het huidige tabblad te retourneren bij aanroepen van tabs.getZoomSettings.
- modus
ZoomSettingsMode optioneel
Definieert hoe zoomwijzigingen worden verwerkt, d.w.z. welke entiteit verantwoordelijk is voor de daadwerkelijke schaalaanpassing van de pagina. Standaard is dit
automatic
. - domein
ZoomSettingsScope optioneel
Hiermee definieert u of zoomwijzigingen behouden blijven voor de oorsprong van de pagina of alleen van kracht worden op dit tabblad. Standaard wordt dit
per-origin
toegepast in deautomatic
modus en andersper-tab
.
ZoomSettingsMode
Definieert hoe zoomwijzigingen worden verwerkt, d.w.z. welke entiteit verantwoordelijk is voor de daadwerkelijke schaalaanpassing van de pagina. Standaard is dit automatic
.
Enum
"automatisch" "handmatig" "gehandicapt"
Zoomwijzigingen worden automatisch door de browser verwerkt.
Overschrijft de automatische verwerking 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 van scope
en gaat uit van per-tab
.
Schakelt alle zoomen in het tabblad uit. Het tabblad keert terug naar het standaard zoomniveau en alle zoompogingen worden genegeerd.
ZoomSettingsScope
Hiermee definieert u of zoomwijzigingen behouden blijven voor de oorsprong van de pagina of alleen van kracht worden op dit tabblad. Standaard wordt dit per-origin
toegepast in de automatic
modus en anders per-tab
.
Enum
"per oorsprong" "per tabblad"
Zoomwijzigingen blijven behouden in de oorsprong van de ingezoomde pagina; dat wil zeggen dat alle andere tabbladen die naar dezelfde oorsprong navigeren, ook worden ingezoomd. Bovendien worden zoomwijzigingen per-origin
opgeslagen bij de oorsprong. Dit betekent dat bij het navigeren naar andere pagina's in dezelfde oorsprong, deze allemaal met dezelfde zoomfactor worden ingezoomd. De reikwijdte per-origin
is alleen beschikbaar in de automatic
modus.
Zoomwijzigingen zijn alleen van toepassing op dit tabblad. Zoomwijzigingen op andere tabbladen hebben geen invloed op de zoomfactor van dit tabblad. Bovendien worden zoomwijzigingen per-tab
gereset bij navigatie; pagina's worden bij het navigeren door een tabblad altijd geladen met hun zoomfactor per-origin
.
Eigenschappen
MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND
Het maximale aantal keren dat captureVisibleTab
per seconde kan worden aangeroepen. captureVisibleTab
is duur en mag niet te vaak worden aangeroepen.
Waarde
2
TAB_ID_NONE
Een ID die de afwezigheid van een browsertabblad weergeeft.
Waarde
-1
TAB_INDEX_NONE
Een index die de afwezigheid van een tabindex in een tab_strip weergeeft.
Waarde
-1
Methoden
captureVisibleTab()
chrome.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
callback?: function,
)
Legt het zichtbare gebied 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 waartoe extensies normaal gesproken toegang hebben, stelt deze methode extensies in staat om gevoelige sites vast te leggen die anders beperkt zijn, waaronder chrome:-scheme-pagina's, 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
ImageDetails optioneel
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(dataUrl: string) => void
- dataUrl
snaar
Een data-URL die een afbeelding van het zichtbare gebied van het vastgelegde tabblad codeert. Kan worden toegewezen aan de 'src'-eigenschap van een HTML
img
element voor weergave.
Retourneren
Belofte<string>
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
)
Maakt verbinding met het/de contentscript(s) op het opgegeven tabblad. De gebeurtenis runtime.onConnect
wordt geactiveerd in elk contentscript dat op het opgegeven tabblad voor de huidige extensie wordt uitgevoerd. Zie Content Script Messaging voor meer informatie.
Parameters
- tabbladId
nummer
- connectInfo
object optioneel
- document-ID
string optioneel
Chroom 106+Open een poort naar een specifiek document geïdentificeerd door
documentId
in plaats van alle frames in het tabblad. - frame-ID
nummer optioneel
Open een poort naar een specifiek frame , geïdentificeerd door
frameId
in plaats van alle frames op het tabblad. - naam
string optioneel
Wordt doorgegeven aan onConnect voor inhoudsscripts die luisteren naar de verbindingsgebeurtenis.
Retourneren
Een poort die kan worden gebruikt om te communiceren met de inhoudsscripts die op het opgegeven tabblad worden uitgevoerd. De
runtime.Port
-gebeurtenis van de poort wordt geactiveerd als het tabblad wordt gesloten of niet bestaat.
create()
chrome.tabs.create(
createProperties: object,
callback?: function,
)
Maakt een nieuw tabblad.
Parameters
- createProperties
voorwerp
- actief
boolean optioneel
Of het tabblad het actieve tabblad in het venster moet worden. Heeft geen invloed op de focus van het venster (zie
windows.update
). Standaard is dittrue
. - index
nummer optioneel
De positie die het lipje in het venster moet innemen. De opgegeven waarde wordt vastgelegd tussen nul en het aantal lipjes in het venster.
- openerTabId
nummer optioneel
De ID van het tabblad dat dit tabblad heeft geopend. Indien opgegeven, moet het geopende tabblad zich in hetzelfde venster bevinden als het nieuw aangemaakte tabblad.
- vastgepind
boolean optioneel
Of het tabblad moet worden vastgezet. Standaardwaarde is
false
- gekozen
boolean optioneel
VerouderdGebruik alstublieft actief .
Of het tabblad het geselecteerde tabblad in het venster moet worden. Standaard is dit
true
- url
string optioneel
De URL waarnaar het tabblad in eerste instantie navigeert. Volledig gekwalificeerde URL's moeten een schema bevatten (bijvoorbeeld '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 'Nieuw tabblad'.
- venster-ID
nummer optioneel
Het venster waarin het nieuwe tabblad moet worden gemaakt. Standaard is dit het huidige venster .
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(tab: Tab) => void
- tabblad
Het aangemaakte tabblad.
Retourneren
Belofte< Tab >
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
callback?: function,
)
Detecteert de primaire taal van de inhoud op een tabblad.
Parameters
- tabbladId
nummer optioneel
Standaard wordt het actieve tabblad van het huidige venster gebruikt.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(language: string) => void
- taal
snaar
Een ISO-taalcode zoals
en
offr
. Zie kLanguageInfoTable voor een volledige lijst met talen die door deze methode worden ondersteund. De tweede tot en met vierde kolom worden gecontroleerd en de eerste niet-NULL-waarde wordt geretourneerd, behalve voor Vereenvoudigd Chinees, waarvoorzh-CN
wordt geretourneerd. Voor een onbekende/ongedefinieerde taal wordtund
geretourneerd.
Retourneren
Belofte<string>
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
discard()
chrome.tabs.discard(
tabId?: number,
callback?: function,
)
Verwijdert een tabblad uit het geheugen. Verwijderde tabbladen blijven zichtbaar op de tabbladenstrook en worden opnieuw geladen wanneer ze worden geactiveerd.
Parameters
- tabbladId
nummer optioneel
De ID van het te verwijderen tabblad. Indien opgegeven, wordt het tabblad verwijderd, tenzij het actief is of al verwijderd is. Indien weggelaten, verwijdert de browser het minst belangrijke tabblad. Dit kan mislukken als er geen verwijderbare tabbladen zijn.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(tab?: Tab) => void
- tabblad
Tabblad optioneel
Het verwijderde tabblad, als het succesvol is verwijderd. Anders is het niet gedefinieerd.
Retourneren
Belofte< Tab | undefined>
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
duplicate()
chrome.tabs.duplicate(
tabId: number,
callback?: function,
)
Dupliceert een tabblad.
Parameters
- tabbladId
nummer
De ID van het tabblad dat u wilt dupliceren.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(tab?: Tab) => void
Retourneren
Belofte< Tab | undefined>
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
get()
chrome.tabs.get(
tabId: number,
callback?: function,
)
Haalt details op over het opgegeven tabblad.
Parameters
- tabbladId
nummer
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(tab: Tab) => void
- tabblad
Retourneren
Belofte< Tab >
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
getCurrent()
chrome.tabs.getCurrent(
callback?: function,
)
Haalt het tabblad op van waaruit dit script wordt aangeroepen. Retourneert undefined
indien aangeroepen vanuit een niet-tabbladcontext (bijvoorbeeld een achtergrondpagina of pop-upweergave).
Parameters
Retourneren
Belofte< Tab | undefined>
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
getZoom()
chrome.tabs.getZoom(
tabId?: number,
callback?: function,
)
Haalt de huidige zoomfactor van een opgegeven tabblad op.
Parameters
- tabbladId
nummer optioneel
De ID van het tabblad waarvan de huidige zoomfactor moet worden opgehaald. Standaard is dit het actieve tabblad van het huidige venster.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(zoomFactor: number) => void
- zoomFactor
nummer
De huidige zoomfactor van het tabblad.
Retourneren
Belofte<nummer>
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
callback?: function,
)
Haalt de huidige zoominstellingen van een opgegeven tabblad op.
Parameters
- tabbladId
nummer optioneel
De ID van het tabblad waarvan de huidige zoominstellingen worden opgehaald. Standaard is dit het actieve tabblad van het huidige venster.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(zoomSettings: ZoomSettings) => void
- zoominstellingen
De huidige zoominstellingen van het tabblad.
Retourneren
Belofte< ZoomSettings >
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
goBack()
chrome.tabs.goBack(
tabId?: number,
callback?: function,
)
Ga terug naar de vorige pagina, indien beschikbaar.
Parameters
- tabbladId
nummer optioneel
De ID van het tabblad waarmee u terugnavigeert; standaard is dit het geselecteerde tabblad van het huidige venster.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retourneren
Belofte<leegte>
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
goForward()
chrome.tabs.goForward(
tabId?: number,
callback?: function,
)
Ga naar de volgende pagina, indien beschikbaar.
Parameters
- tabbladId
nummer optioneel
De ID van het tabblad waarmee u vooruit navigeert; standaard is dit het geselecteerde tabblad van het huidige venster.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retourneren
Belofte<leegte>
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
group()
chrome.tabs.group(
options: object,
callback?: function,
)
Voegt een of meer tabbladen toe aan een opgegeven groep. Als er geen groep is opgegeven, voegt u de opgegeven tabbladen toe aan een nieuw gemaakte groep.
Parameters
- opties
voorwerp
- createProperties
object optioneel
Configuraties 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 is dit het huidige venster.
- groeps-ID
nummer optioneel
De ID van de groep waaraan de tabbladen moeten worden toegevoegd. Indien niet opgegeven, wordt er een nieuwe groep aangemaakt.
- tabbladen
nummer | [nummer, ...nummer[]]
De tabblad-ID of lijst met tabblad-ID's die aan de opgegeven groep moeten worden toegevoegd.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(groupId: number) => void
- groeps-ID
nummer
De ID van de groep waaraan de tabbladen zijn toegevoegd.
Retourneren
Belofte<nummer>
Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
highlight()
chrome.tabs.highlight(
highlightInfo: object,
callback?: function,
)
Markeert de opgegeven tabbladen en focust op het eerste tabblad van de groep. Lijkt niets te doen als het opgegeven tabblad momenteel actief is.
Parameters
- highlightInfo
voorwerp
- tabbladen
nummer | nummer[]
Eén of meer tabbladen om te markeren.
- venster-ID
nummer optioneel
Het venster met de tabbladen.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(window: Window) => void
- raam
Bevat details over het venster waarvan de tabbladen zijn gemarkeerd.
Retourneren
Belofte< windows.Window >
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
move()
chrome.tabs.move(
tabIds: number | number[],
moveProperties: object,
callback?: function,
)
Verplaatst een of meer tabbladen naar een nieuwe positie binnen het venster of naar een nieuw venster. Tabbladen kunnen alleen van en naar normale (window.type === "normal") vensters worden verplaatst.
Parameters
- tabbladen
nummer | nummer[]
De tabblad-ID of lijst met tabblad-ID's die moeten worden verplaatst.
- moveProperties
voorwerp
- index
nummer
De positie waarnaar het venster moet worden verplaatst. Gebruik
-1
om de tab aan het einde van het venster te plaatsen. - venster-ID
nummer optioneel
Standaard wordt het venster gebruikt waarin het tabblad zich op dat moment bevindt.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(tabs: Tab | Tab[]) => void
Retourneren
- Chroom 88+
Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
query()
chrome.tabs.query(
queryInfo: object,
callback?: function,
)
Haalt alle tabbladen op die over de opgegeven eigenschappen beschikken, of alle tabbladen als er geen eigenschappen zijn opgegeven.
Parameters
- queryInfo
voorwerp
- actief
boolean optioneel
Of de tabbladen in hun vensters actief zijn.
- hoorbaar
boolean optioneel
Chroom 45+Of de tabbladen hoorbaar zijn.
- automatisch wegwerpbaar
boolean optioneel
Chroom 54+Of de tabbladen automatisch door de browser kunnen worden verwijderd wanneer er weinig bronnen beschikbaar zijn.
- huidig venster
boolean optioneel
Of de tabbladen zich in het huidige venster bevinden.
- weggegooid
boolean optioneel
Chroom 54+Of de tabbladen worden verwijderd. Een verwijderd tabblad is een tabblad waarvan de inhoud uit het geheugen is verwijderd, maar nog steeds zichtbaar is in de tabbladenstrook. De inhoud wordt opnieuw geladen wanneer het tabblad de volgende keer wordt geactiveerd.
- bevroren
boolean optioneel
Chroom 132+Of de tabbladen bevroren zijn. Een bevroren tabblad kan geen taken uitvoeren, inclusief gebeurtenisafhandeling of timers. Het is zichtbaar in de tabbladenstrook en de inhoud ervan wordt in het geheugen geladen. Het wordt ontgrendeld bij activering.
- groeps-ID
nummer optioneel
Chroom 88+De ID van de groep waarin de tabbladen zich bevinden, of
tabGroups.TAB_GROUP_ID_NONE
voor niet-gegroepeerde tabbladen. - gemarkeerd
boolean optioneel
Of de tabbladen gemarkeerd zijn.
- index
nummer optioneel
De positie van de tabbladen binnen hun vensters.
- laatsteGefocusteVenster
boolean optioneel
Of de tabbladen zich in het laatste geselecteerde venster bevinden.
- gedempt
boolean optioneel
Chroom 45+Of de tabbladen gedempt zijn.
- vastgepind
boolean optioneel
Of de tabbladen vastgezet zijn.
- splitViewId
nummer optioneel
In behandelingDe 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. - toestand
TabStatus optioneel
De laadstatus van het tabblad.
- titel
string optioneel
Paginatitels matchen met een patroon. Deze eigenschap wordt genegeerd als de extensie geen
"tabs"
of hostrechten voor de pagina heeft. - url
string | string[] optioneel
Koppel tabbladen aan een of meer URL-patronen . Fragment-ID's worden niet gekoppeld. Deze eigenschap wordt genegeerd als de extensie geen
"tabs"
machtiging of hostmachtiging 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.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(result: Tab[]) => void
- resultaat
Tabblad []
Retourneren
Belofte< Tab []>
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
callback?: function,
)
Een tabblad opnieuw laden.
Parameters
- tabbladId
nummer optioneel
De ID van het tabblad dat opnieuw moet worden geladen. Standaard is dit het geselecteerde tabblad van het huidige venster.
- herlaadeigenschappen
object optioneel
- bypassCache
boolean optioneel
Of lokale caching moet worden omzeild. Standaard is dit
false
.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retourneren
Belofte<leegte>
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
remove()
chrome.tabs.remove(
tabIds: number | number[],
callback?: function,
)
Sluit één of meer tabbladen.
Parameters
- tabbladen
nummer | nummer[]
De tabblad-ID of lijst met tabblad-ID's die u wilt sluiten.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retourneren
Belofte<leegte>
Chroom 88+Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
callback?: function,
)
Stuurt een enkel bericht naar het inhoudscript (s) op het opgegeven tabblad, met een optionele callback om uit te voeren wanneer een reactie wordt teruggestuurd. De runtime.onMessage
-gebeurtenis wordt in elk inhoudsscript in het opgegeven tabblad voor de huidige extensie ingesteld.
Parameters
- tabide
nummer
- bericht
elk
Het bericht om te verzenden. Dit bericht moet een JSON-ifeerbaar object zijn.
- opties
Object optioneel
- Documentid
String optioneel
Chrome 106+Stuur een bericht naar een specifiek document dat wordt geïdentificeerd door
documentId
in plaats van alle frames op het tabblad. - frameId
Nummer optioneel
Stuur een bericht naar een specifiek frame geïdentificeerd door
frameId
in plaats van alle frames op het tabblad.
- terugbellen
functie optioneel
Chrome 99+De
callback
-parameter ziet eruit als:(response: any) => void
- antwoord
elk
Het JSON -antwoordobject verzonden door de handler van het bericht. Als er een fout optreedt tijdens het verbinding maken met het opgegeven tabblad, wordt de callback aangeroepen zonder argumenten en is
runtime.lastError
ingesteld op het foutbericht.
Retourneren
Belofte <any>
Chrome 99+Beloften worden ondersteund in manifest V3 en later, maar callbacks worden voorzien voor achterwaartse compatibiliteit. U kunt beide niet gebruiken op dezelfde functieaanroep. De belofte lost op met hetzelfde type dat wordt doorgegeven aan de callback.
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
callback?: function,
)
Zoomt een opgegeven tabblad.
Parameters
- tabide
Nummer optioneel
De ID van het tabblad om te zoomen; Standaard op 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 dan0
Geef een (mogelijk niet-default) zoomfactor op voor het tabblad. - terugbellen
functie optioneel
De
callback
-parameter ziet eruit als:() => void
Retourneren
Belofte <void>
Chrome 88+Beloften worden ondersteund in manifest V3 en later, maar callbacks worden voorzien voor achterwaartse compatibiliteit. U kunt beide niet gebruiken op dezelfde functieaanroep. De belofte lost op met hetzelfde type dat wordt doorgegeven aan de callback.
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
callback?: function,
)
Stelt de zoominstellingen in voor een opgegeven tabblad, die bepalen hoe zoomwijzigingen worden afgehandeld. Deze instellingen worden gereset naar standaardwaarden bij het navigeren op het tabblad.
Parameters
- tabide
Nummer optioneel
De ID van het tabblad om de zoominstellingen te wijzigen voor; Standaard op het actieve tabblad van het huidige venster.
- zoomsettings
Bepaalt hoe zoomveranderingen worden behandeld en op welke reikwijdte.
- terugbellen
functie optioneel
De
callback
-parameter ziet eruit als:() => void
Retourneren
Belofte <void>
Chrome 88+Beloften worden ondersteund in manifest V3 en later, maar callbacks worden voorzien voor achterwaartse compatibiliteit. U kunt beide niet gebruiken op dezelfde functieaanroep. De belofte lost op met hetzelfde type dat wordt doorgegeven aan de callback.
ungroup()
chrome.tabs.ungroup(
tabIds: number | [number, ...number[]],
callback?: function,
)
Verwijdert een of meer tabbladen van hun respectieve groepen. Als groepen leeg worden, worden ze verwijderd.
Parameters
- tabide
Nummer | [Nummer, ... nummer []]
De tab -ID of lijst met tab -ID's om uit hun respectieve groepen te verwijderen.
- terugbellen
functie optioneel
De
callback
-parameter ziet eruit als:() => void
Retourneren
Belofte <void>
Beloften worden ondersteund in manifest V3 en later, maar callbacks worden voorzien voor achterwaartse compatibiliteit. U kunt beide niet gebruiken op dezelfde functieaanroep. De belofte lost op met hetzelfde type dat wordt doorgegeven aan de callback.
update()
chrome.tabs.update(
tabId?: number,
updateProperties: object,
callback?: function,
)
Wijzigt de eigenschappen van een tabblad. Eigenschappen die niet zijn opgegeven in updateProperties
worden niet gewijzigd.
Parameters
- tabide
Nummer optioneel
Standaard op het geselecteerde tabblad van het huidige venster .
- UpdateProperties
voorwerp
- actief
Boolean optioneel
Of het tabblad actief moet zijn. Heeft geen invloed op de vraag of het venster gefocust is (zie
windows.update
). - autodiscardbaar
Boolean optioneel
Chrome 54+Of het tabblad automatisch moet worden weggegooid door de browser wanneer de bronnen laag zijn.
- gemarkeerd
Boolean optioneel
Voegt het tabblad toe of verwijdert het tabblad uit de huidige selectie.
- gedempt
Boolean optioneel
Chrome 45+Of het tabblad moet worden gedempt.
- Openertabid
Nummer optioneel
De ID van het tabblad dat dit tabblad opende. Indien opgegeven, moet het tabblad Openers in hetzelfde venster zijn als dit tabblad.
- vastgemaakt
Boolean optioneel
Of het tabblad moet worden vastgemaakt.
- gekozen
Boolean optioneel
VerouderdGebruik gemarkeerd .
Of het tabblad moet worden geselecteerd.
- url
String optioneel
Een URL om op het tabblad te navigeren naar. JavaScript URL's worden niet ondersteund; Gebruik in plaats daarvan
scripting.executeScript
.
- terugbellen
functie optioneel
De
callback
-parameter ziet eruit als:(tab?: Tab) => void
Retourneren
Belofte < tab | ongedefinieerd>
Chrome 88+Beloften worden ondersteund in manifest V3 en later, maar callbacks worden voorzien voor achterwaartse compatibiliteit. U kunt beide niet gebruiken op dezelfde functieaanroep. De belofte lost op met hetzelfde type dat wordt doorgegeven aan de callback.
Evenementen
onActivated
chrome.tabs.onActivated.addListener(
callback: function,
)
Vuurt wanneer het actieve tabblad in een venster verandert. Merk op dat de URL van het tab mogelijk niet wordt ingesteld op het moment dat deze gebeurtenis wordt afgevuurd, maar u kunt luisteren naar onUpdated -gebeurtenissen om op de hoogte te worden gebracht wanneer een URL is ingesteld.
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(activeInfo: object) => void
- ActiveInfo
voorwerp
- tabide
nummer
De ID van het tabblad dat actief is geworden.
- Windowid
nummer
De ID van het venster Het actieve tabblad is van binnen gewijzigd.
onAttached
chrome.tabs.onAttached.addListener(
callback: function,
)
Gestuurd wanneer een tabblad op een venster is bevestigd; Omdat het bijvoorbeeld tussen Windows werd verplaatst.
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(tabId: number, attachInfo: object) => void
- tabide
nummer
- bijlageInfo
voorwerp
- nieuwe positie
nummer
- Newwindowid
nummer
onCreated
chrome.tabs.onCreated.addListener(
callback: function,
)
Gestuurd wanneer een tabblad wordt gemaakt. Merk op dat de URL- en TAB -groepslidmaatschap van het tab mogelijk niet wordt ingesteld op het moment dat deze gebeurtenis wordt afgevuurd, maar u kunt luisteren naar onuige gebeurtenissen om een melding te maken wanneer een URL is ingesteld of het tabblad wordt toegevoegd aan een tab -groep.
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(tab: Tab) => void
- tabblad
onDetached
chrome.tabs.onDetached.addListener(
callback: function,
)
Gestuurd wanneer een tabblad van een venster wordt losgemaakt; Omdat het bijvoorbeeld tussen Windows werd verplaatst.
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(tabId: number, detachInfo: object) => void
- tabide
nummer
- ontploffen
voorwerp
- oude positie
nummer
- oldwindowid
nummer
onHighlighted
chrome.tabs.onHighlighted.addListener(
callback: function,
)
Gestuurd wanneer de gemarkeerde of geselecteerde tabbladen in een venster verandert.
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(highlightInfo: object) => void
- Markeerinfo
voorwerp
- tabide
nummer[]
Alle gemarkeerde tabbladen in het venster.
- Windowid
nummer
Het venster waarvan de tabbladen zijn gewijzigd.
onMoved
chrome.tabs.onMoved.addListener(
callback: function,
)
Gestuurd wanneer een tabblad in een venster wordt verplaatst. Slechts één verplaatsingsgebeurtenis wordt ontslagen en vertegenwoordigt het tabblad dat de gebruiker rechtstreeks is verplaatst. Verplaatsingsgebeurtenissen worden niet afgevuurd voor de andere tabbladen die moeten bewegen als reactie op het tabblad Handmatig bedekte. Deze gebeurtenis wordt niet ontslagen wanneer een tab tussen Windows wordt verplaatst; Zie tabs.onDetached
voor meer informatie.
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(tabId: number, moveInfo: object) => void
- tabide
nummer
- MoveInfo
voorwerp
- van Index
nummer
- om index te zijn
nummer
- Windowid
nummer
onRemoved
chrome.tabs.onRemoved.addListener(
callback: function,
)
Gestuurd wanneer een tabblad is gesloten.
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(tabId: number, removeInfo: object) => void
- tabide
nummer
- verwijder info
voorwerp
- iswindowclosing
Booleaanse
Het is waar toen het tabblad werd gesloten omdat het bovenliggende venster was gesloten.
- Windowid
nummer
Het venster waarvan het tabblad is gesloten.
onReplaced
chrome.tabs.onReplaced.addListener(
callback: function,
)
Gestuurd wanneer een tabblad wordt vervangen door een ander tabblad vanwege voor- of instant.
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(addedTabId: number, removedTabId: number) => void
- toegevoegd
nummer
- verwijderdTabid
nummer
onUpdated
chrome.tabs.onUpdated.addListener(
callback: function,
)
Gestuurd wanneer een tabblad wordt bijgewerkt.
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(tabId: number, changeInfo: object, tab: Tab) => void
- tabide
nummer
- verandering info
voorwerp
- hoorbaar
Boolean optioneel
Chrome 45+De nieuwe hoorbare status van het tab.
- autodiscardbaar
Boolean optioneel
Chrome 54+De nieuwe auto-ontstekbare staat van het tabblad.
- weggegooid
Boolean optioneel
Chrome 54+De nieuwe weggegooide staat van het tabblad.
- faviconurl
String optioneel
De nieuwe Favicon -URL van het tab.
- bevroren
Boolean optioneel
Chrome 132+De nieuwe bevroren staat van het tabblad.
- groepid
Nummer optioneel
Chrome 88+De nieuwe groep van het tabblad.
- mutedinfo
MutedInfo optioneel
Chrome 46+De nieuwe gedempte status van het tabblad en de reden voor de verandering.
- vastgemaakt
Boolean optioneel
De nieuwe vastgemaakte staat van het tabblad.
- splitviewid
Nummer optioneel
In behandelingDe nieuwe splitweergave van het tabblad.
- toestand
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 als deze is gewijzigd.
- tabblad
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
Gestuurd wanneer een tabblad wordt ingezoomd.
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(ZoomChangeInfo: object) => void
- Zoomchangeinfo
voorwerp
- newzoomfactor
nummer
- Oldzoomfactor
nummer
- tabide
nummer
- zoomsettings