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 te maken, te wijzigen en opnieuw in te delen.
De Tabs API biedt niet alleen functies voor het manipuleren en beheren van tabbladen, maar kan ook de taal van het tabblad detecteren, een screenshot maken en communiceren met de inhoudsscripts van een tabblad.
Machtigingen
Voor de meeste functies zijn geen machtigingen 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 als ze met de Tabs API werken.
- De toestemming "tabbladen".
Deze toestemming geeft geen toegang tot de naamruimte
chrome.tabs
. In plaats daarvan geeft het een extensie de mogelijkheid omtabs.query()
aan te roepen tegen 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
van een overeenkomend tabblad lezen en opvragen. Tabbladeigenschappen. Ze kunnen ook rechtstreeks communiceren met de overeenkomende tabbladen met behulp van methoden zoalstabs.captureVisibleTab()
,tabs.executeScript()
,tabs.insertCSS()
entabs.removeCSS()
.{ "name": "My extension", ... "host_permissions": [ "http://*/*", "https://*/*" ], ... }
- De machtiging "activeTab".
activeTab
verleent een tijdelijke hosttoestemming voor de extensie voor het huidige tabblad als reactie op een gebruikersaanroep. In tegenstelling tot hostmachtigingen activeertactiveTab
geen waarschuwingen.{ "name": "My extension", ... "permissions": [ "activeTab" ], ... }
Gebruiksgevallen
In de volgende secties worden enkele veelvoorkomende gebruiksscenario's gedemonstreerd.
Open een extensiepagina in een nieuw tabblad
Een gebruikelijk patroon voor extensies is het openen van een onboardingpagina op 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"
});
}
});
Haal het huidige tabblad op
Dit voorbeeld laat zien hoe de servicemedewerker van een extensie het actieve tabblad kan ophalen uit het venster dat momenteel de focus heeft (of het meest recent gerichte venster, als er geen Chrome-vensters zijn). Dit kan meestal worden gezien 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);
});
}
Demp het opgegeven tabblad
Dit voorbeeld laat zien hoe een extensie de gedempte status voor een bepaald tabblad kan omschakelen.
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 u een tabblad verplaatst terwijl er wel of niet wordt gesleept. Hoewel in dit voorbeeld gebruik wordt gemaakt van chrome.tabs.move
, kunt u hetzelfde wachtpatroon gebruiken voor andere oproepen 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.");
}
});
}
Geef een bericht door aan het inhoudsscript van een geselecteerd tabblad
Dit voorbeeld laat zien hoe de servicemedewerker van een extensie kan communiceren met inhoudscripts op 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 verkennen:
Soorten
MutedInfo
De gedempte status van het tabblad en de reden voor de laatste statuswijziging.
Eigenschappen
- extensieId
tekenreeks optioneel
De ID van het toestel dat de gedempte status heeft gewijzigd. Niet ingesteld als een toestel niet de reden was dat de gedempte status voor het laatst werd gewijzigd.
- gedempt
Booleaans
Of het tabblad is gedempt (geen geluid afspelen). Het tabblad kan worden gedempt, zelfs als het niet is afgespeeld of momenteel geen geluid afspeelt. Gelijk aan of de 'gedempte' audio-indicator wordt weergegeven.
- reden
MutedInfoReason optioneel
De reden waarom het tabblad is gedempt of niet is gedempt. Niet ingesteld als de mute-status van het tabblad nooit is gewijzigd.
MutedInfoReason
Een gebeurtenis die een gedempte statuswijziging heeft veroorzaakt.
Enum
"gebruiker" "vastlegging" "verlenging"
Een gebruikersinvoeractie heeft de gedempte status ingesteld.
Het vastleggen van tabbladen is gestart, waardoor een gedempte 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 gefocust is.
- hoorbaar
Booleaans optioneel
Chroom 45+Of het tabblad de afgelopen seconden geluid heeft geproduceerd (maar het is mogelijk niet hoorbaar als het ook is gedempt). Gelijk aan of de indicator 'luidsprekeraudio' wordt weergegeven.
- automatisch weggooibaar
Booleaans
Chroom 54+Of het tabblad automatisch door de browser kan worden verwijderd als er weinig bronnen zijn.
- weggegooid
Booleaans
Chroom 54+Of het tabblad wordt weggegooid. Een weggegooid tabblad is een tabblad waarvan de inhoud uit het geheugen is verwijderd, maar nog steeds zichtbaar is in de tabbladstrook. De inhoud ervan wordt opnieuw geladen de volgende keer dat deze wordt geactiveerd.
- favIconUrl
tekenreeks optioneel
De URL van het favicon van het tabblad. Deze eigenschap is alleen aanwezig als het manifest van de extensie de machtiging
"tabs"
bevat. Het kan ook een lege tekenreeks zijn als het tabblad wordt geladen. - bevroren
Booleaans
In behandelingOf het tabblad bevroren is. Een bevroren tabblad kan geen taken uitvoeren, inclusief gebeurtenishandlers of timers. Het is zichtbaar in de tabbladstrook en de inhoud ervan wordt in het geheugen geladen. Het wordt gedeblokkeerd bij activering.
- groepsID
nummer
Chroom 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.
- Identiteitskaart
nummer optioneel
De ID van het tabblad. Tab-ID's zijn uniek binnen een browsersessie. Onder bepaalde omstandigheden kan het zijn dat aan een tabblad geen ID wordt toegewezen; bijvoorbeeld bij het opvragen van buitenlandse tabbladen met behulp van de
sessions
API, in welk geval een sessie-ID aanwezig kan zijn. Tab-ID kan ook worden ingesteld opchrome.tabs.TAB_ID_NONE
voor apps en devtools-vensters. - incognito
Booleaans
Of het tabblad zich in een incognitovenster bevindt.
- index
nummer
De op nul gebaseerde index van het tabblad binnen het bijbehorende venster.
- laatste toegang
nummer
Chroom 121+De laatste keer dat het tabblad werd geopend, als het aantal milliseconden sinds het tijdperk.
- gedemptInfo
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 waarmee dit tabblad is geopend, indien aanwezig. Deze eigenschap is alleen aanwezig als het tabblad Opener nog bestaat.
- in afwachtingUrl
tekenreeks optioneel
Chroom 79+De URL waar het tabblad naartoe navigeert voordat het is vastgelegd. Deze eigenschap is alleen aanwezig als het manifest van de extensie de machtiging
"tabs"
bevat en er een navigatie in behandeling is. - vastgezet
Booleaans
Of het tabblad is vastgezet.
- gekozen
Booleaans
AfgekeurdGebruik
tabs.Tab.highlighted
.Of het tabblad is geselecteerd.
- sessieId
tekenreeks optioneel
De sessie-ID die wordt gebruikt om op unieke wijze een tabblad te identificeren dat is verkregen via de
sessions
API. - status
TabStatus optioneel
De laadstatus van het tabblad.
- titel
tekenreeks optioneel
De titel van het tabblad. Deze eigenschap is alleen aanwezig als het manifest van de extensie de machtiging
"tabs"
bevat. - URL
tekenreeks optioneel
De laatste vastgelegde URL van het hoofdframe van het tabblad. Deze eigenschap is alleen aanwezig als het manifest van de extensie de machtiging
"tabs"
bevat en kan een lege tekenreeks zijn als het tabblad nog niet is vastgelegd. Zie ookTab.pendingUrl
. - breedte
nummer optioneel
De breedte van het tabblad in pixels.
- vensterId
nummer
De ID van het venster dat het tabblad bevat.
TabStatus
De laadstatus van het tabblad.
Enum
"gelost" "laden" "compleet"
WindowType
Het type raam.
Enum
"normaal" "pop-up" "paneel" "app" "ontwikkeltools"
ZoomSettings
Definieert hoe zoomwijzigingen op een tabblad worden afgehandeld en met welk bereik.
Eigenschappen
- standaardZoomFactor
nummer optioneel
Chroom 43+Wordt gebruikt om het standaardzoomniveau voor het huidige tabblad te retourneren bij oproepen naar tabs.getZoomSettings.
- modus
ZoomSettingsMode optioneel
Definieert hoe zoomwijzigingen worden afgehandeld, dwz welke entiteit verantwoordelijk is voor het daadwerkelijk schalen van de pagina; standaard ingesteld op
automatic
. - domein
ZoomSettingsScope optioneel
Bepaalt of zoomwijzigingen blijven bestaan voor de oorsprong van de pagina, of alleen van kracht worden op dit tabblad; standaard ingesteld op
per-origin
inautomatic
modus, en andersper-tab
.
ZoomSettingsMode
Definieert hoe zoomwijzigingen worden afgehandeld, dwz welke entiteit verantwoordelijk is voor het daadwerkelijk schalen van de pagina; standaard ingesteld op automatic
.
Enum
"automatisch" "handmatig" "gehandicapt"
Zoomwijzigingen worden automatisch door de browser verwerkt.
Heft de automatische verwerking van zoomwijzigingen op. 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 dus de zoominstelling scope
en gaat uit van per-tab
.
Schakelt alle zoomfuncties op het tabblad uit. Het tabblad keert terug naar het standaardzoomniveau en alle pogingen tot zoomwijzigingen worden genegeerd.
ZoomSettingsScope
Bepaalt of zoomwijzigingen blijven bestaan voor de oorsprong van de pagina, of alleen van kracht worden op dit tabblad; standaard ingesteld op per-origin
in automatic
modus, en anders per-tab
.
Enum
"per oorsprong" "per tabblad"
Zoomwijzigingen blijven bestaan in de oorsprong van de ingezoomde pagina, dat wil zeggen dat op alle andere tabbladen die naar dezelfde oorsprong worden genavigeerd, ook wordt ingezoomd. Bovendien worden zoomwijzigingen per-origin
opgeslagen bij de oorsprong, wat betekent dat wanneer u naar andere pagina's in dezelfde oorsprong navigeert, ze allemaal met dezelfde zoomfactor worden ingezoomd. Het bereik per-origin
is alleen beschikbaar in de automatic
modus.
Zoomwijzigingen zijn alleen van kracht op dit tabblad en zoomwijzigingen op andere tabbladen hebben geen invloed op het zoomen van dit tabblad. Ook worden zoomwijzigingen per-tab
tijdens de navigatie gereset; bij het navigeren door een tabblad worden altijd pagina's geladen met hun zoomfactoren 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 aangeeft.
Waarde
-1
TAB_INDEX_NONE
Een index die de afwezigheid van een tabindex in een tab_strip vertegenwoordigt.
Waarde
-1
Methoden
captureVisibleTab()
chrome.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
callback?: function,
)
Legt het zichtbare gebied vast van het momenteel actieve tabblad in het opgegeven venster. Om deze methode aan te roepen, moet de extensie de machtiging <all_urls> of de machtiging activeTab hebben. Naast sites waartoe extensies normaal toegang hebben, kunnen extensies met deze methode gevoelige sites vastleggen die anderszins 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 activeTab-machtiging. Bestands-URL's kunnen alleen worden vastgelegd als aan de extensie bestandstoegang is verleend.
Parameters
- vensterId
nummer optioneel
Het doelvenster. Standaard ingesteld op het huidige venster .
- opties
Afbeeldingsdetails optioneel
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(dataUrl: string) => void
- dataUrl
snaar
Een gegevens-URL die een afbeelding codeert van het zichtbare gebied van het vastgelegde tabblad. Kan worden toegewezen aan de eigenschap 'src' van een HTML
img
element voor weergave.
Retouren
Beloof<tekenreeks>
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
)
Maakt verbinding met de inhoudsscript(s) op het opgegeven tabblad. De gebeurtenis runtime.onConnect
wordt geactiveerd in elk inhoudsscript dat wordt uitgevoerd op het opgegeven tabblad voor de huidige extensie. Zie Inhoudsscriptberichten voor meer details.
Parameters
- tabId
nummer
- connectInfo
object optioneel
- documentId
tekenreeks optioneel
Chroom 106+Open een poort naar een specifiek document geïdentificeerd door
documentId
in plaats van alle frames op het tabblad. - frameId
nummer optioneel
Open een poort naar een specifiek frame geïdentificeerd door
frameId
in plaats van alle frames op het tabblad. - naam
tekenreeks optioneel
Wordt doorgegeven aan onConnect voor inhoudsscripts die luisteren naar de verbindingsgebeurtenis.
Retouren
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,
)
Creëert een nieuw tabblad.
Parameters
- maakeigenschappen
voorwerp
- actief
Booleaans optioneel
Of het tabblad het actieve tabblad in het venster moet worden. Heeft geen invloed op de vraag of het venster de focus heeft (zie
windows.update
). Standaard ingesteld optrue
. - index
nummer optioneel
De positie die het lipje in het venster moet innemen. De opgegeven waarde wordt vastgezet tussen nul en het aantal tabbladen in het venster.
- openerTabId
nummer optioneel
De ID van het tabblad waarmee dit tabblad is geopend. Indien opgegeven, moet het openertabblad zich in hetzelfde venster bevinden als het nieuw gemaakte tabblad.
- vastgezet
Booleaans optioneel
Of het tabblad moet worden vastgezet. Standaard ingesteld op
false
- gekozen
Booleaans optioneel
AfgekeurdGebruik a.u.b. actief .
Of het tabblad het geselecteerde tabblad in het venster moet worden. Standaard ingesteld op
true
- URL
tekenreeks optioneel
De URL waarnaar in eerste instantie op het tabblad moet worden genavigeerd. Volledig gekwalificeerde URL's moeten een schema bevatten (dwz 'http://www.google.com', niet 'www.google.com'). Relatieve URL's zijn relatief ten opzichte van de huidige pagina binnen de extensie. Standaard ingesteld op de nieuwe tabbladpagina.
- vensterId
nummer optioneel
Het venster waarin het nieuwe tabblad moet worden gemaakt. Standaard ingesteld op het huidige venster .
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(tab: Tab) => void
- tabblad
Het aangemaakte tabblad.
Retouren
Beloof< Tab >
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
callback?: function,
)
Detecteert de primaire taal van de inhoud op een tabblad.
Parameters
- tabId
nummer optioneel
Standaard ingesteld op het actieve tabblad van het huidige venster .
- 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 de 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.
Retouren
Beloof<tekenreeks>
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
discard()
chrome.tabs.discard(
tabId?: number,
callback?: function,
)
Verwijdert een tabblad uit het geheugen. Weggegooide tabbladen zijn nog steeds zichtbaar op de tabbladenstrook 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. Als u dit weglaat, verwijdert de browser het minst belangrijke tabblad. Dit kan mislukken als er geen wegwerpbare tabbladen bestaan.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(tab?: Tab) => void
- tabblad
Tabblad optioneel
Het weggegooide tabblad, als het met succes is weggegooid; anders niet gedefinieerd.
Retouren
Belofte< Tab | ongedefinieerd>
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
duplicate()
chrome.tabs.duplicate(
tabId: number,
callback?: function,
)
Dupliceert een tabblad.
Parameters
- tabId
nummer
De ID van het tabblad dat moet worden gedupliceerd.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(tab?: Tab) => void
Retouren
Belofte< Tab | ongedefinieerd>
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
get()
chrome.tabs.get(
tabId: number,
callback?: function,
)
Haalt details op over het opgegeven tabblad.
Parameters
- tabId
nummer
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(tab: Tab) => void
- tabblad
Retouren
Beloof< Tab >
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
getCurrent()
chrome.tabs.getCurrent(
callback?: function,
)
Haalt het tabblad op van waaruit deze scriptaanroep wordt gedaan. Retourneert undefined
als deze wordt aangeroepen vanuit een niet-tabbladcontext (bijvoorbeeld een achtergrondpagina of pop-upweergave).
Parameters
Retouren
Belofte< Tab | ongedefinieerd>
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
getZoom()
chrome.tabs.getZoom(
tabId?: number,
callback?: function,
)
Haalt de huidige zoomfactor van een opgegeven tabblad op.
Parameters
- tabId
nummer optioneel
De ID van het tabblad waaruit de huidige zoomfactor moet worden gehaald; standaard ingesteld op 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.
Retouren
Beloof<nummer>
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
callback?: function,
)
Haalt de huidige zoominstellingen van een opgegeven tabblad op.
Parameters
- tabId
nummer optioneel
De ID van het tabblad waarvan de huidige zoominstellingen moeten worden opgehaald; standaard ingesteld op 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.
Retouren
Beloof het < Zoominstellingen >
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
goBack()
chrome.tabs.goBack(
tabId?: number,
callback?: function,
)
Ga terug naar de vorige pagina, als deze beschikbaar is.
Parameters
- tabId
nummer optioneel
De ID van het tabblad om terug te navigeren; standaard ingesteld op het geselecteerde tabblad van het huidige venster.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
goForward()
chrome.tabs.goForward(
tabId?: number,
callback?: function,
)
Ga verder naar de volgende pagina, als deze beschikbaar is.
Parameters
- tabId
nummer optioneel
De ID van het tabblad om vooruit te navigeren; standaard ingesteld op het geselecteerde tabblad van het huidige venster.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
group()
chrome.tabs.group(
options: object,
callback?: function,
)
Voegt een of meer tabbladen toe aan een opgegeven groep, of als er geen groep is opgegeven, voegt u de gegeven tabbladen toe aan een nieuw gemaakte groep.
Parameters
- opties
voorwerp
- maakeigenschappen
object optioneel
Configuraties voor het maken van een groep. Kan niet worden gebruikt als groupId al is opgegeven.
- vensterId
nummer optioneel
Het venster van de nieuwe groep. Standaard ingesteld op het huidige venster.
- groepsID
nummer optioneel
De ID van de groep waaraan de tabbladen moeten worden toegevoegd. Als u dit niet opgeeft, wordt er een nieuwe groep gemaakt.
- tabbladID's
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
- groepsID
nummer
De ID van de groep waaraan de tabbladen zijn toegevoegd.
Retouren
Beloof<nummer>
Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
highlight()
chrome.tabs.highlight(
highlightInfo: object,
callback?: function,
)
Markeert de gegeven tabbladen en richt zich op de eerste van de groep. Lijkt niets te doen als het opgegeven tabblad momenteel actief is.
Parameters
- hoogtepuntInfo
voorwerp
- tabbladen
nummer | nummer[]
Een of meer tabbladindexen om te markeren.
- vensterId
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.
Retouren
Beloof < windows.Window >
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
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. Houd er rekening mee dat tabbladen alleen van en naar normale (window.type === "normale") vensters kunnen worden verplaatst.
Parameters
- tabbladID's
nummer | nummer[]
De tabblad-ID of lijst met tabblad-ID's die u wilt verplaatsen.
- verplaatsEigenschappen
voorwerp
- index
nummer
De positie waarnaar het venster moet worden verplaatst. Gebruik
-1
om het tabblad aan het einde van het venster te plaatsen. - vensterId
nummer optioneel
Standaard ingesteld op het venster waarin het tabblad zich momenteel bevindt.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(tabs: Tab | Tab[]) => void
Retouren
- Chroom 88+
Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
query()
chrome.tabs.query(
queryInfo: object,
callback?: function,
)
Haalt alle tabbladen op die de opgegeven eigenschappen hebben, of alle tabbladen als er geen eigenschappen zijn opgegeven.
Parameters
- vraagInfo
voorwerp
- actief
Booleaans optioneel
Of de tabbladen actief zijn in hun vensters.
- hoorbaar
Booleaans optioneel
Chroom 45+Of de tabbladen hoorbaar zijn.
- automatisch weggooibaar
Booleaans optioneel
Chroom 54+Of de tabbladen automatisch door de browser kunnen worden verwijderd als de bronnen laag zijn.
- huidigeVenster
Booleaans optioneel
Of de tabbladen zich in het huidige venster bevinden.
- weggegooid
Booleaans optioneel
Chroom 54+Of de tabbladen worden weggegooid. Een weggegooid tabblad is een tabblad waarvan de inhoud uit het geheugen is verwijderd, maar nog steeds zichtbaar is in de tabbladstrook. De inhoud ervan wordt opnieuw geladen de volgende keer dat deze wordt geactiveerd.
- bevroren
Booleaans optioneel
In behandelingOf de tabbladen bevroren zijn. Een bevroren tabblad kan geen taken uitvoeren, inclusief gebeurtenishandlers of timers. Het is zichtbaar in de tabbladstrook en de inhoud ervan wordt in het geheugen geladen. Het wordt gedeblokkeerd bij activering.
- groepsID
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
Booleaans optioneel
Of de tabbladen zijn gemarkeerd.
- index
nummer optioneel
De positie van de tabbladen binnen hun vensters.
- laatsteFocusedWindow
Booleaans optioneel
Of de tabbladen zich in het laatste venster met focus bevinden.
- gedempt
Booleaans optioneel
Chroom 45+Of de tabbladen gedempt zijn.
- vastgezet
Booleaans optioneel
Of de tabbladen zijn vastgezet.
- status
TabStatus optioneel
De laadstatus van het tabblad.
- titel
tekenreeks optioneel
Zorg ervoor dat paginatitels overeenkomen met een patroon. Deze eigenschap wordt genegeerd als de extensie niet over de machtiging
"tabs"
beschikt. - URL
tekenreeks | tekenreeks[] optioneel
Zorg ervoor dat tabbladen overeenkomen met een of meer URL-patronen . Fragment-ID's komen niet overeen. Deze eigenschap wordt genegeerd als de extensie niet over de machtiging
"tabs"
beschikt. - vensterId
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 []
Retouren
Beloof < Tab []>
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
callback?: function,
)
Een tabblad opnieuw laden.
Parameters
- tabId
nummer optioneel
De ID van het tabblad dat opnieuw moet worden geladen; standaard ingesteld op het geselecteerde tabblad van het huidige venster.
- herlaadEigenschappen
object optioneel
- bypassCache
Booleaans optioneel
Of lokale caching moet worden omzeild. Standaard ingesteld op
false
.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
remove()
chrome.tabs.remove(
tabIds: number | number[],
callback?: function,
)
Sluit een of meer tabbladen.
Parameters
- tabbladID's
nummer | nummer[]
De tabblad-ID of lijst met tabblad-ID's die moeten worden gesloten.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 88+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
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
runtime.lastError
ingesteld op het foutbericht.
Retouren
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
Retouren
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
Retouren
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
Retouren
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.
- vastgezet
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
Retouren
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
Booleaans
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
In behandelingDe 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.
- vastgezet
Boolean optioneel
De nieuwe vastgemaakte staat 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 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