Beschrijving
Gebruik de chrome.runtime API om de service worker op te halen, details over het manifest te verkrijgen en te luisteren naar en te reageren op gebeurtenissen in de levenscyclus van de extensie. Je kunt deze API ook gebruiken om relatieve paden van URL's om te zetten naar volledig gekwalificeerde URL's.
De meeste leden van deze API vereisen geen machtigingen. Deze machtiging is nodig voor connectNative() , sendNativeMessage() en onNativeConnect .
Het volgende voorbeeld laat zien hoe u de "nativeMessaging" -machtiging in het manifest kunt declareren:
manifest.json:
{
"name": "My extension",
...
"permissions": [
"nativeMessaging"
],
...
}
Concepten en gebruik
De Runtime API biedt methoden ter ondersteuning van een aantal gebieden die uw extensies kunnen gebruiken:
- Berichtoverdracht
- Je extensie kan communiceren met verschillende contexten binnen je extensie en ook met andere extensies met behulp van de volgende methoden en gebeurtenissen:
connect(),onConnect,onConnectExternal,sendMessage(),onMessageenonMessageExternal. Daarnaast kan je extensie berichten doorgeven aan native applicaties op het apparaat van de gebruiker met behulp vanconnectNative()ensendNativeMessage().
- Toegang tot extensie- en platformmetadata
- Met deze methoden kunt u verschillende specifieke metadata over de extensie en het platform ophalen. Methoden in deze categorie zijn onder andere
getManifest()engetPlatformInfo(). - Het beheren van de levenscyclus en opties van extensies
- Met deze eigenschappen kunt u bepaalde meta-bewerkingen op de extensie uitvoeren en de optiepagina weergeven. Methoden en gebeurtenissen in deze categorie zijn onder andere
onInstalled,onStartup,openOptionsPage(),reload(),requestUpdateCheck()ensetUninstallURL(). - Hulpprogramma's
- Deze methoden bieden nuttige functies, zoals het omzetten van interne resource-representaties naar externe formaten. Methoden in deze categorie omvatten onder andere
getURL(). - Hulpprogramma's in kioskmodus
- Deze methoden zijn alleen beschikbaar op ChromeOS en bestaan voornamelijk ter ondersteuning van kioskimplementaties. Methoden in deze categorie zijn onder andere
restart()enrestartAfterDelay().
Uitgepakt extensiegedrag
Wanneer een uitgepakte extensie opnieuw wordt geladen, wordt dit beschouwd als een update. Dit betekent dat de gebeurtenis chrome.runtime.onInstalled wordt geactiveerd met de reden "update" . Dit geldt ook wanneer de extensie opnieuw wordt geladen met chrome.runtime.reload() .
Gebruiksvoorbeelden
Een afbeelding toevoegen aan een webpagina
Om een webpagina toegang te geven tot een bestand dat op een ander domein wordt gehost, moet de volledige URL van de bron worden opgegeven (bijv. <img src="https://example.com/logo.png"> ). Hetzelfde geldt voor het opnemen van een extensiebestand op een webpagina. De twee verschillen zijn dat de bestanden van de extensie als webtoegankelijke bronnen beschikbaar moeten worden gesteld en dat content scripts doorgaans verantwoordelijk zijn voor het injecteren van extensiebestanden.
In dit voorbeeld voegt de extensie logo.png toe aan de pagina waarin het content-script wordt geïnjecteerd , door runtime.getURL() te gebruiken om een volledig gekwalificeerde URL te creëren. Maar eerst moet de asset in het manifest worden gedeclareerd als een webtoegankelijke bron.
manifest.json:
{
...
"web_accessible_resources": [
{
"resources": [ "logo.png" ],
"matches": [ "https://*/*" ]
}
],
...
}
content.js:
{ // Block used to avoid setting global variables
const img = document.createElement('img');
img.src = chrome.runtime.getURL('logo.png');
document.body.append(img);
}
Verzend gegevens vanuit een contentscript naar de service worker.
Het komt vaak voor dat de scripts van een extensie gegevens nodig hebben die beheerd worden door een ander onderdeel van de extensie, zoals de service worker. Net zoals twee browservensters die dezelfde webpagina openen, kunnen deze twee contexten elkaars waarden niet rechtstreeks benaderen. In plaats daarvan kan de extensie gebruikmaken van berichtuitwisseling om de communicatie tussen deze verschillende contexten te coördineren.
In dit voorbeeld heeft het contentscript gegevens nodig van de service worker van de extensie om de gebruikersinterface te initialiseren. Om deze gegevens te verkrijgen, stuurt het script het door de ontwikkelaar gedefinieerde bericht get-user-data naar de service worker, die vervolgens een kopie van de gebruikersinformatie terugstuurt.
content.js:
// 1. Send a message to the service worker requesting the user's data
chrome.runtime.sendMessage('get-user-data', (response) => {
// 3. Got an asynchronous response with the data from the service worker
console.log('received user data', response);
initializeUI(response);
});
service-worker.js:
// Example of a simple user data object
const user = {
username: 'demo-user'
};
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
// 2. A page requested user data, respond with a copy of `user`
if (message === 'get-user-data') {
sendResponse(user);
}
});
Verzamel feedback over het verwijderen van bestanden.
Veel extensies gebruiken enquêtes na deïnstallatie om te begrijpen hoe de extensie de gebruikers beter van dienst kan zijn en de retentie kan verbeteren. Het volgende voorbeeld laat zien hoe je deze functionaliteit kunt toevoegen.
background.js:
chrome.runtime.onInstalled.addListener(details => {
if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
chrome.runtime.setUninstallURL('https://example.com/extension-survey');
}
});
Voorbeelden
Bekijk de demo Manifest V3 - Web Accessible Resources voor meer voorbeelden van de Runtime API.
Soorten
ContextFilter
Een filter om te matchen met bepaalde extensiecontexten. Overeenkomende contexten moeten aan alle opgegeven filters voldoen; elk filter dat niet is opgegeven, komt overeen met alle beschikbare contexten. Een filter van `{}` komt dus overeen met alle beschikbare contexten.
Eigenschappen
- contextIds
string[] optioneel
- contextTypes
ContextType [] optioneel
- documentIds
string[] optioneel
- documentOrigins
string[] optioneel
- documentUrls
string[] optioneel
- frameIds
nummer[] optioneel
- incognito
boolean optioneel
- tabIds
nummer[] optioneel
- venster-ID's
nummer[] optioneel
ContextType
Enum
"TAB" "POP-UP" "ACHTERGROND" "OFFSCREEN_DOCUMENT" "ZIJPANEEL" "ONTWIKKELAARSGEREEDSCHAPPEN"
Specificeert het contexttype als een tab.
Specificeert het contexttype als een extensie-pop-upvenster.
Specificeert het contexttype als een service worker.
Specificeert het contexttype als een document dat niet op het scherm zichtbaar is.
Specificeert het contexttype als een zijpaneel.
Specificeert het contexttype als ontwikkelaarstools.
ExtensionContext
Een context die extensiecontent host.
Eigenschappen
- contextId
snaar
Een unieke identificator voor deze context
- contextType
Het type context waar dit mee overeenkomt.
- documentId
string optioneel
Een UUID voor het document dat aan deze context is gekoppeld, of 'undefined' als deze context niet in een document is opgeslagen.
- documentOrigin
string optioneel
De herkomst van het document dat aan deze context is gekoppeld, of ongedefinieerd als de context niet in een document is opgenomen.
- documentUrl
string optioneel
De URL van het document dat aan deze context is gekoppeld, of 'undefined' als de context niet in een document is opgeslagen.
- frameId
nummer
De ID van het frame voor deze context, of -1 als deze context niet in een frame is gehost.
- incognito
booleaans
Of de context verband houdt met een incognito-profiel.
- tabId
nummer
De ID van het tabblad voor deze context, of -1 als deze context niet in een tabblad is gehost.
- venster-ID
nummer
De ID van het venster voor deze context, of -1 als deze context niet in een venster wordt gehost.
MessageSender
Een object dat informatie bevat over de scriptcontext die een bericht of verzoek heeft verzonden.
Eigenschappen
- documentId
string optioneel
Chrome 106+De UUID van het document waarmee de verbinding tot stand is gebracht.
- documentLevenscyclus
string optioneel
Chrome 106+De levenscyclus waarin het document dat de verbinding opende zich bevond op het moment dat de poort werd aangemaakt. Houd er rekening mee dat de levenscyclusstatus van het document mogelijk is gewijzigd sinds de aanmaak van de poort.
- frameId
nummer optioneel
Het frame dat de verbinding heeft geopend. 0 voor frames op het hoogste niveau, positief voor onderliggende frames. Dit wordt alleen ingesteld wanneer
tabis geselecteerd. - id
string optioneel
De ID van de extensie die de verbinding heeft geopend, indien aanwezig.
- nativeApplicatie
string optioneel
Chrome 74+De naam van de native applicatie die de verbinding heeft geopend, indien van toepassing.
- oorsprong
string optioneel
Chrome 80+De oorsprong van de pagina of het frame dat de verbinding heeft geopend. Deze kan afwijken van de URL-eigenschap (bijvoorbeeld about:blank) of kan ondoorzichtig zijn (bijvoorbeeld sandboxed iframes). Dit is handig om te bepalen of de oorsprong betrouwbaar is als dit niet direct uit de URL af te leiden is.
- tab
Tab optioneel
Het
tabs.Tabdat de verbinding heeft geopend, indien aanwezig. Deze eigenschap is alleen aanwezig wanneer de verbinding is geopend vanuit een tabblad (inclusief inhoudsscripts) en alleen als de ontvanger een extensie is, en geen app. - tlsChannelId
string optioneel
De TLS-kanaal-ID van de pagina of het frame dat de verbinding heeft geopend, indien gevraagd door de extensie en indien beschikbaar.
- URL
string optioneel
De URL van de pagina of het frame dat de verbinding heeft geopend. Als de afzender zich in een iframe bevindt, is dit de URL van het iframe en niet de URL van de pagina waarin het iframe zich bevindt.
OnInstalledReason
De reden waarom dit evenement wordt georganiseerd.
Enum
"installeren" "update" "chrome_update" "shared_module_update"
Specificeert de reden van de gebeurtenis als een installatie.
Specificeert de reden van de gebeurtenis als een extensie-update.
Geeft als reden voor de gebeurtenis aan dat het om een Chrome-update gaat.
Specificeert de reden van de gebeurtenis als een update van een gedeelde module.
OnRestartRequiredReason
De reden waarom de gebeurtenis wordt verzonden. 'app_update' wordt gebruikt wanneer een herstart nodig is omdat de applicatie is bijgewerkt naar een nieuwere versie. 'os_update' wordt gebruikt wanneer een herstart nodig is omdat de browser/het besturingssysteem is bijgewerkt naar een nieuwere versie. 'periodic' wordt gebruikt wanneer het systeem langer draait dan de toegestane uptime die is ingesteld in het bedrijfsbeleid.
Enum
"app_update" "os_update" "periodiek"
Specificeert de reden van de gebeurtenis als een update van de app.
Specificeert de reden van de gebeurtenis als een update van het besturingssysteem.
Specificeert de reden voor de gebeurtenis als een periodieke herstart van de app.
PlatformArch
De processorarchitectuur van de machine.
Enum
"arm" "arm64" "x86-32" "x86-64" "mips" "mips64" "riscv64"
Geeft aan dat de processorarchitectuur ARM is.
Geeft de processorarchitectuur aan als arm64.
Geeft de processorarchitectuur aan als x86-32.
Geeft de processorarchitectuur aan als x86-64.
Specificeert de processorarchitectuur als mips.
Geeft de processorarchitectuur aan als mips64.
Specificeert de processorarchitectuur als riscv64.
PlatformInfo
Een object dat informatie bevat over het huidige platform.
Eigenschappen
- boog
De processorarchitectuur van de machine.
- nacl_arch
PlatformNaclArch optioneel
De native clientarchitectuur. Deze kan op sommige platformen afwijken van de architectuur.
- os
Het besturingssysteem waarop Chrome draait.
PlatformNaclArch
De native clientarchitectuur. Deze kan op sommige platformen afwijken van de architectuur.
Enum
"arm" "x86-32" "x86-64" "mips" "mips64"
Specificeert de native clientarchitectuur als arm.
Specificeert de native clientarchitectuur als x86-32.
Specificeert de native clientarchitectuur als x86-64.
Specificeert de native clientarchitectuur als mips.
Specificeert de native clientarchitectuur als mips64.
PlatformOs
Het besturingssysteem waarop Chrome draait.
Enum
"mac" "winnen" "android" "kruisen" "linux" "openbsd"
Specificeert het MacOS-besturingssysteem.
Specificeert het Windows-besturingssysteem.
Specificeert het Android-besturingssysteem.
Specificeert het Chrome-besturingssysteem.
Specificeert het Linux-besturingssysteem.
Specificeert het OpenBSD-besturingssysteem.
Port
Een object dat tweewegcommunicatie met andere pagina's mogelijk maakt. Zie Langdurige verbindingen voor meer informatie.
Eigenschappen
- naam
snaar
De naam van de poort, zoals gespecificeerd in de aanroep van
runtime.connect. - bijVerbinding verbreken
Event<functionvoidvoid>
Deze gebeurtenis wordt geactiveerd wanneer de poort wordt losgekoppeld van de andere kant(en).
runtime.lastErrorkan worden ingesteld als de poort door een fout is losgekoppeld. Als de poort wordt gesloten via `disconnect` , wordt deze gebeurtenis alleen aan de andere kant geactiveerd. Deze gebeurtenis wordt maximaal één keer geactiveerd (zie ook Levensduur van de poort ).De functie
onDisconnect.addListenerziet er als volgt uit:(callback: function) => {...}
- onMessage
Event<functionvoidvoid>
Deze gebeurtenis wordt geactiveerd wanneer de postMessage-methode wordt aangeroepen door de andere kant van de poort.
De functie
onMessage.addListenerziet er als volgt uit:(callback: function) => {...}
- afzender
MessageSender (optioneel)
Deze eigenschap is alleen aanwezig op poorten die worden doorgegeven aan onConnect / onConnectExternal / onConnectNative listeners.
- ontkoppelen
leegte
Ontkoppel de poort onmiddellijk. Het aanroepen
disconnect()op een poort die al is ontkoppeld, heeft geen effect. Wanneer een poort is ontkoppeld, worden er geen nieuwe gebeurtenissen meer naar deze poort verzonden.De functie
disconnectziet er als volgt uit:() => {...} - postMessage
leegte
Stuur een bericht naar de andere kant van de poort. Als de poort niet in gebruik is, wordt er een foutmelding gegenereerd.
De
postMessagefunctie ziet er als volgt uit:(message: any) => {...}
- bericht
elk
Chrome 52+Het te verzenden bericht. Dit object moet in JSON-formaat te converteren zijn.
RequestUpdateCheckStatus
Resultaat van de updatecontrole.
Enum
"gewurgd" "geen_update" "update_available"
Geeft aan dat de statuscontrole is vertraagd. Dit kan gebeuren na herhaalde controles binnen een korte tijdspanne.
Geeft aan dat er geen updates beschikbaar zijn om te installeren.
Geeft aan dat er een beschikbare update is om te installeren.
Eigenschappen
id
De ID van de extensie/app.
Type
snaar
lastError
Deze eigenschap wordt gevuld met een foutmelding als het aanroepen van een API-functie mislukt; anders is deze niet gedefinieerd. Deze eigenschap is alleen gedefinieerd binnen de callback-functie. Als er een fout optreedt, maar runtime.lastError niet wordt aangeroepen binnen de callback, wordt een bericht naar de console gelogd met de naam van de API-functie die de fout heeft veroorzaakt. API-functies die promises retourneren, stellen deze eigenschap niet in.
Type
voorwerp
Eigenschappen
- bericht
string optioneel
Details over de opgetreden fout.
Methoden
connect()
chrome.runtime.connect(
extensionId?: string,
connectInfo?: object,
): Port
Pogingen om verbinding te maken met luisteraars binnen een extensie (zoals de achtergrondpagina) of met andere extensies/apps. Dit is handig voor contentscripts die verbinding maken met hun extensieprocessen, communicatie tussen apps/extensies en webberichten . Merk op dat dit geen verbinding maakt met luisteraars in een contentscript. Extensies kunnen verbinding maken met contentscripts die zijn ingesloten in tabbladen via tabs.connect .
Parameters
- extensie-ID
string optioneel
De ID van de extensie waarmee verbinding moet worden gemaakt. Indien deze ID wordt weggelaten, wordt geprobeerd verbinding te maken met uw eigen extensie. Vereist bij het verzenden van berichten vanaf een webpagina voor webberichten .
- verbindingsinfo
object optioneel
- includeTlsChannelId
boolean optioneel
Of de TLS-kanaal-ID wordt doorgegeven aan onConnectExternal voor processen die luisteren naar de verbindingsgebeurtenis.
- naam
string optioneel
Wordt doorgegeven aan onConnect voor processen die luisteren naar de verbindingsgebeurtenis.
Retourneert
Poort waarlangs berichten kunnen worden verzonden en ontvangen. De onDisconnect- gebeurtenis van de poort wordt geactiveerd als de extensie niet bestaat.
connectNative()
chrome.runtime.connectNative(
application: string,
): Port
Maakt verbinding met een native applicatie op de hostmachine. Deze methode vereist de machtiging "nativeMessaging" . Zie Native Messaging voor meer informatie.
Parameters
- sollicitatie
snaar
De naam van de geregistreerde applicatie waarmee verbinding moet worden gemaakt.
Retourneert
Via deze poort kunnen berichten met de applicatie worden verzonden en ontvangen.
getBackgroundPage()
chrome.runtime.getBackgroundPage(): Promise<Window | undefined>
Achtergrondpagina's bestaan niet in MV3-extensies.
Haalt het JavaScript 'window'-object op voor de achtergrondpagina die binnen de huidige extensie/app wordt uitgevoerd. Als de achtergrondpagina een gebeurtenispagina is, zorgt het systeem ervoor dat deze wordt geladen voordat de callback wordt aangeroepen. Als er geen achtergrondpagina is, wordt een foutmelding gegenereerd.
Retourneert
Promise<Venster | niet gedefinieerd>
Chrome 99+
getContexts()
chrome.runtime.getContexts(
filter: ContextFilter,
): Promise<ExtensionContext[]>
Haalt informatie op over actieve contexten die aan deze extensie zijn gekoppeld.
Parameters
- filter
Een filter om overeenkomende contexten te vinden. Een context komt overeen als deze overeenkomt met alle opgegeven velden in het filter. Elk niet-opgegeven veld in het filter komt overeen met alle contexten.
Retourneert
Promise< ExtensionContext []>
getManifest()
chrome.runtime.getManifest(): object
Geeft details over de app of extensie uit het manifestbestand terug. Het geretourneerde object is een serialisatie van het volledige manifestbestand .
Retourneert
voorwerp
De manifestgegevens.
getPackageDirectoryEntry()
chrome.runtime.getPackageDirectoryEntry(): Promise<DirectoryEntry>
Retourneert een DirectoryEntry voor de pakketdirectory.
Retourneert
Promise<DirectoryEntry>
Chrome 122+
getPlatformInfo()
chrome.runtime.getPlatformInfo(): Promise<PlatformInfo>
Geeft informatie over het huidige platform.
Retourneert
Belofte< PlatformInfo >
Chrome 99+
getURL()
chrome.runtime.getURL(
path: string,
): string
Converteert een relatief pad binnen de installatiemap van een app/extensie naar een volledig gekwalificeerde URL.
Parameters
- pad
snaar
Een pad naar een bron binnen een app/extensie, uitgedrukt ten opzichte van de installatiemap.
Retourneert
snaar
De volledig gekwalificeerde URL naar de bron.
getVersion()
chrome.runtime.getVersion(): string
Retourneert de versie van de extensie zoals gedeclareerd in het manifest.
Retourneert
snaar
De versie van de extensie.
openOptionsPage()
chrome.runtime.openOptionsPage(): Promise<void>
Open indien mogelijk de optiepagina van uw extensie.
Het precieze gedrag kan afhangen van de options_ui of options_page sleutel in uw manifest, of van wat Chrome op dat moment ondersteunt. De pagina kan bijvoorbeeld in een nieuw tabblad worden geopend, binnen `chrome://extensions`, binnen een app, of er kan simpelweg een geopende optiepagina worden geselecteerd. De pagina die de pagina aanroept, zal nooit opnieuw worden geladen.
Als uw extensie geen optiepagina declareert, of als Chrome er om een andere reden niet in slaagt er een aan te maken, zal de callback lastError instellen.
Retourneert
Promise<void>
Chrome 99+
reload()
chrome.runtime.reload(): void
Herlaadt de app of extensie. Deze methode wordt niet ondersteund in de kioskmodus. Gebruik in de kioskmodus de methode chrome.runtime.restart().
requestUpdateCheck()
chrome.runtime.requestUpdateCheck(): Promise<object>
Verzoek om onmiddellijk te controleren op updates voor deze app/extensie.
Belangrijk : De meeste extensies/apps zouden deze methode niet moeten gebruiken, aangezien Chrome al elke paar uur automatisch controleert en je kunt luisteren naar de runtime.onUpdateAvailable -gebeurtenis zonder dat je requestUpdateCheck hoeft aan te roepen.
Deze methode is alleen geschikt voor zeer beperkte omstandigheden, bijvoorbeeld wanneer uw extensie communiceert met een backendservice en die service heeft vastgesteld dat de clientextensieversie sterk verouderd is en u de gebruiker wilt vragen om deze bij te werken. De meeste andere toepassingen van requestUpdateCheck, zoals het onvoorwaardelijk aanroepen ervan op basis van een herhalende timer, leiden waarschijnlijk alleen maar tot verspilling van client-, netwerk- en serverbronnen.
Opmerking: Wanneer deze functie met een callback wordt aangeroepen, retourneert deze in plaats van een object de twee eigenschappen als afzonderlijke argumenten die aan de callback worden doorgegeven.
Retourneert
Promise<object>
Chrome 109+
restart()
chrome.runtime.restart(): void
Start het ChromeOS-apparaat opnieuw op wanneer de app in kioskmodus draait. Anders heeft het geen effect.
restartAfterDelay()
chrome.runtime.restartAfterDelay(
seconds: number,
): Promise<void>
Start het ChromeOS-apparaat opnieuw op wanneer de app in kioskmodus draait na het opgegeven aantal seconden. Als deze functie opnieuw wordt aangeroepen voordat de tijd is verstreken, wordt de herstart uitgesteld. Als de functie wordt aangeroepen met een waarde van -1, wordt de herstart geannuleerd. In de niet-kioskmodus heeft deze functie geen effect. Deze functie mag alleen herhaaldelijk worden aangeroepen door de eerste extensie die deze API aanroept.
Parameters
- seconden
nummer
De wachttijd in seconden voordat het apparaat opnieuw wordt opgestart, of -1 om een geplande herstart te annuleren.
Retourneert
Promise<void>
Chrome 99+
sendMessage()
chrome.runtime.sendMessage(
extensionId?: string,
message: any,
options?: object,
): Promise<any>
Verzendt een enkel bericht naar gebeurtenislisteners binnen uw extensie of een andere extensie/app. Vergelijkbaar met runtime.connect , maar verzendt slechts één bericht, met een optioneel antwoord. Als u naar uw extensie verzendt, wordt de runtime.onMessage -gebeurtenis in elk frame van uw extensie geactiveerd (behalve in het frame van de afzender), of runtime.onMessageExternal als het een andere extensie betreft. Houd er rekening mee dat extensies met deze methode geen berichten naar contentscripts kunnen verzenden. Gebruik tabs.sendMessage om berichten naar contentscripts te verzenden.
Parameters
- extensie-ID
string optioneel
De ID van de extensie waarnaar het bericht moet worden verzonden. Indien dit veld wordt weggelaten, wordt het bericht naar uw eigen extensie/app verzonden. Vereist bij het verzenden van berichten vanaf een webpagina voor webberichten .
- bericht
elk
Het te verzenden bericht. Dit bericht moet een object zijn dat naar JSON kan worden geconverteerd.
- opties
object optioneel
- includeTlsChannelId
boolean optioneel
Of de TLS-kanaal-ID wordt doorgegeven aan onMessageExternal voor processen die luisteren naar de verbindingsgebeurtenis.
Retourneert
Belofte<willekeurig>
Chrome 99+
sendNativeMessage()
chrome.runtime.sendNativeMessage(
application: string,
message: object,
): Promise<any>
Een enkel bericht verzenden naar een native applicatie. Deze methode vereist de machtiging "nativeMessaging" .
Parameters
- sollicitatie
snaar
De naam van de native berichtenhost.
- bericht
voorwerp
Het bericht dat naar de native berichtenhost wordt verzonden.
Retourneert
Belofte<willekeurig>
Chrome 99+
setUninstallURL()
chrome.runtime.setUninstallURL(
url: string,
): Promise<void>
Stelt de URL in die bezocht moet worden na deïnstallatie. Deze URL kan gebruikt worden voor het opschonen van servergegevens, het uitvoeren van analyses en het afnemen van enquêtes. Maximaal 1023 tekens.
Parameters
- URL
snaar
De URL die geopend moet worden nadat de extensie is verwijderd. Deze URL moet een http: of https: schema hebben. Stel een lege tekenreeks in om geen nieuw tabblad te openen bij het verwijderen.
Retourneert
Promise<void>
Chrome 99+
Evenementen
onBrowserUpdateAvailable
chrome.runtime.onBrowserUpdateAvailable.addListener(
callback: function,
)
Gebruik alstublieft runtime.onRestartRequired .
Wordt geactiveerd wanneer er een Chrome-update beschikbaar is, maar deze wordt niet onmiddellijk geïnstalleerd omdat de browser opnieuw moet worden opgestart.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:() => void
onConnect
chrome.runtime.onConnect.addListener(
callback: function,
)
Wordt geactiveerd wanneer een verbinding tot stand komt vanuit een extensieproces of een inhoudsscript (via runtime.connect ).
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(port: Port) => void
- haven
onConnectExternal
chrome.runtime.onConnectExternal.addListener(
callback: function,
)
Wordt geactiveerd wanneer een verbinding tot stand komt vanuit een andere extensie (via runtime.connect ) of vanuit een extern bereikbare website.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(port: Port) => void
- haven
onConnectNative
chrome.runtime.onConnectNative.addListener(
callback: function,
)
Deze gebeurtenis wordt geactiveerd wanneer een verbinding tot stand komt vanuit een native applicatie. Hiervoor is de machtiging "nativeMessaging" vereist. Deze functie wordt alleen ondersteund op Chrome OS.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(port: Port) => void
- haven
onInstalled
chrome.runtime.onInstalled.addListener(
callback: function,
)
Deze gebeurtenis wordt geactiveerd wanneer de extensie voor het eerst wordt geïnstalleerd, wanneer de extensie wordt bijgewerkt naar een nieuwe versie en wanneer Chrome wordt bijgewerkt naar een nieuwe versie.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(details: object) => void
- details
voorwerp
- id
string optioneel
Geeft de ID aan van de geïmporteerde gedeelde module-extensie die is bijgewerkt. Deze is alleen aanwezig als 'reason' 'shared_module_update' is.
- vorige versie
string optioneel
Geeft de vorige versie van de extensie aan, die zojuist is bijgewerkt. Dit is alleen aanwezig als 'reden' 'update' is.
- reden
De reden waarom dit evenement wordt georganiseerd.
onMessage
chrome.runtime.onMessage.addListener(
callback: function,
)
Wordt geactiveerd wanneer een bericht wordt verzonden vanuit een extensieproces (via runtime.sendMessage ) of een inhoudsscript (via tabs.sendMessage ).
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(message: any, sender: MessageSender, sendResponse: function) => boolean | undefined
- bericht
elk
- afzender
- antwoord verzenden
functie
De parameter
sendResponseziet er als volgt uit:(response?: any) => void
- antwoord
eventuele optionele
Het antwoord dat naar de afzender van het bericht wordt teruggestuurd.
- retourneert
boolean | niet gedefinieerd
onMessageExternal
chrome.runtime.onMessageExternal.addListener(
callback: function,
)
Wordt geactiveerd wanneer een bericht vanuit een andere extensie wordt verzonden (via runtime.sendMessage ). Kan niet worden gebruikt in een contentscript.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(message: any, sender: MessageSender, sendResponse: function) => boolean | undefined
- bericht
elk
- afzender
- antwoord verzenden
functie
De parameter
sendResponseziet er als volgt uit:(response?: any) => void
- antwoord
eventuele optionele
Het antwoord dat naar de afzender van het bericht wordt teruggestuurd.
- retourneert
boolean | niet gedefinieerd
onRestartRequired
chrome.runtime.onRestartRequired.addListener(
callback: function,
)
Deze gebeurtenis wordt geactiveerd wanneer een app of het apparaat waarop deze draait opnieuw moet worden opgestart. De app moet zo snel mogelijk alle vensters sluiten om de herstart mogelijk te maken. Als de app niets doet, wordt de herstart na een respijtperiode van 24 uur afgedwongen. Momenteel wordt deze gebeurtenis alleen geactiveerd voor Chrome OS-kiosk-apps.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(reason: OnRestartRequiredReason) => void
onStartup
chrome.runtime.onStartup.addListener(
callback: function,
)
Deze gebeurtenis wordt geactiveerd wanneer een profiel waarop deze extensie is geïnstalleerd, voor het eerst wordt opgestart. Deze gebeurtenis wordt niet geactiveerd wanneer een incognitoprofiel wordt gestart, zelfs niet als deze extensie in de 'gesplitste' incognitomodus werkt.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:() => void
onSuspend
chrome.runtime.onSuspend.addListener(
callback: function,
)
Deze gebeurtenis wordt naar de gebeurtenispagina verzonden vlak voordat deze wordt afgesloten. Dit geeft de extensie de mogelijkheid om wat opruimwerkzaamheden uit te voeren. Houd er rekening mee dat, aangezien de pagina wordt afgesloten, asynchrone bewerkingen die tijdens de afhandeling van deze gebeurtenis zijn gestart, niet gegarandeerd worden voltooid. Als er meer activiteit voor de gebeurtenispagina plaatsvindt voordat deze wordt afgesloten, wordt de gebeurtenis onSuspendCanceled verzonden en wordt de pagina niet afgesloten.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:() => void
onSuspendCanceled
chrome.runtime.onSuspendCanceled.addListener(
callback: function,
)
Verzonden na onSuspend om aan te geven dat de app toch niet wordt afgesloten.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:() => void
onUpdateAvailable
chrome.runtime.onUpdateAvailable.addListener(
callback: function,
)
Deze gebeurtenis wordt geactiveerd wanneer er een update beschikbaar is, maar deze wordt niet direct geïnstalleerd omdat de app momenteel actief is. Als u niets doet, wordt de update geïnstalleerd de volgende keer dat de achtergrondpagina wordt gesloten. Als u de update eerder wilt installeren, kunt u expliciet `chrome.runtime.reload()` aanroepen. Als uw extensie een permanente achtergrondpagina gebruikt, wordt deze pagina natuurlijk nooit gesloten. Tenzij u `chrome.runtime.reload()` handmatig aanroept als reactie op deze gebeurtenis, wordt de update pas geïnstalleerd wanneer Chrome zelf opnieuw wordt opgestart. Als er geen handlers naar deze gebeurtenis luisteren en uw extensie een permanente achtergrondpagina heeft, gedraagt deze zich alsof `chrome.runtime.reload()` wordt aangeroepen als reactie op deze gebeurtenis.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(details: object) => void
- details
voorwerp
- versie
snaar
Het versienummer van de beschikbare update.
onUserScriptConnect
chrome.runtime.onUserScriptConnect.addListener(
callback: function,
)
Deze functie wordt geactiveerd wanneer een verbinding tot stand wordt gebracht vanuit een gebruikersscript van deze extensie.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(port: Port) => void
- haven
onUserScriptMessage
chrome.runtime.onUserScriptMessage.addListener(
callback: function,
)
Wordt geactiveerd wanneer een bericht wordt verzonden vanuit een gebruikersscript dat is gekoppeld aan dezelfde extensie.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(message: any, sender: MessageSender, sendResponse: function) => boolean | undefined
- bericht
elk
- afzender
- antwoord verzenden
functie
De parameter
sendResponseziet er als volgt uit:(response?: any) => void
- antwoord
eventuele optionele
Het antwoord dat naar de afzender van het bericht wordt teruggestuurd.
- retourneert
boolean | niet gedefinieerd