chrome.runtime

refresh date: 2026-09-25 robots: noindex

Beschrijving

Gebruik de chrome.runtime API om de servicemedewerker op te halen, details over het manifest te retourneren en te luisteren naar en te reageren op gebeurtenissen in de levenscyclus van de extensie. Je kunt deze API ook gebruiken om het relatieve pad van URL's om te zetten in volledig gekwalificeerde URL's.

Overzicht

De Runtime API biedt methoden om een aantal functionaliteitsgebieden te ondersteunen die je extensies kunnen gebruiken:

Berichten doorgeven
Je extensie kan communiceren met verschillende contexten binnen je extensie en ook met andere extensies via deze methoden en gebeurtenissen: connect(), onConnect, onConnectExternal, sendMessage(), onMessage en onMessageExternal. Daarnaast kan je extensie berichten doorgeven aan systeemeigen apps op het apparaat van de gebruiker via connectNative() en sendNativeMessage().
Toegang tot metadata van extensies en platforms
Met deze methoden kun je verschillende specifieke metadatagegevens over de extensie en het platform ophalen. Methoden in deze categorie zijn onder andere getManifest() en getPlatformInfo().
De levenscyclus en opties van extensies beheren
Met deze eigenschappen kun je bepaalde metahandelingen uitvoeren op de extensie en de pagina met opties weergeven. Methoden en gebeurtenissen in deze categorie zijn onder andere onInstalled, onStartup, openOptionsPage(), reload(), requestUpdateCheck() en setUninstallURL().
Hulpprogramma's
Deze methoden bieden hulpprogramma's zoals de conversie van interne bronrepresentaties naar externe indelingen. Methoden in deze categorie zijn onder andere getURL().
Hulpprogramma's voor de kioskmodus
Deze methoden zijn alleen beschikbaar in ChromeOS en bestaan voornamelijk om kiosk-implementaties te ondersteunen. Methoden in deze categorie zijn onder andere restart en restartAfterDelay.

Rechten

Voor de meeste methoden in de Runtime API zijn geen rechten vereist, behalve voor sendNativeMessage en connectNative, waarvoor het recht nativeMessaging is vereist.

Manifest

In het volgende voorbeeld zie je hoe je het recht nativeMessaging declareert in het manifest:

manifest.json:

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

Toepassingen

Een afbeelding toevoegen aan een webpagina

Als een webpagina toegang wil tot een item dat op een ander domein wordt gehost, moet de volledige URL van de bron worden vermeld (bijv. <img src="https://example.com/logo.png">). Hetzelfde geldt voor het opnemen van een extensie-item op een webpagina. De 2 verschillen zijn dat de componenten van de extensie moeten worden weergegeven als bronnen die toegankelijk zijn via het web en dat contentscripts meestal verantwoordelijk zijn voor het injecteren van extensiecomponenten.

In dit voorbeeld voegt de extensie logo.png toe aan de pagina waarin het contentscript wordt geïnjecteerd door runtime.getURL() te gebruiken om een volledig gekwalificeerde URL te maken. Maar eerst moet het item in het manifest worden gedefinieerd als een bron die toegankelijk is via het web.

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

Gegevens van de servicemedewerker naar een contentscript sturen

Het is gebruikelijk dat de contentscripts van een extensie gegevens nodig hebben die worden beheerd door een ander deel van de extensie, zoals de serviceworker. Net als bij 2 browservensters die op dezelfde webpagina zijn geopend, hebben deze 2 contexten geen rechtstreekse toegang tot elkaars waarden. In plaats daarvan kan de extensie berichten doorgeven om de verschillende contexten te coördineren.

In dit voorbeeld heeft het contentscript gegevens van de servicemedewerker van de extensie nodig om de UI te initialiseren. De browser stuurt een get-user-data-bericht naar de servicemedewerker om deze gegevens op te halen. De servicemedewerker reageert met een kopie van de gebruikersgegevens.

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

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

Feedback over verwijdering verzamelen

Veel extensies gebruiken enquêtes na de verwijdering om inzicht te krijgen in hoe de extensie gebruikers beter van dienst kan zijn en de gebruikersloyaliteit kan verbeteren. In het volgende voorbeeld staat hoe u deze functie toevoegt.

background.js:

chrome.runtime.onInstalled.addListener(details => {
  if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
    chrome.runtime.setUninstallURL('https://example.com/extension-survey');
  }
});

Voorbeelden van extensies

Ga naar de demo Manifest V3 - Web Accessible Resources voor meer voorbeelden van de Runtime API.

Typen

ContextFilter

Chrome 114+

Een filter dat overeenkomt met bepaalde extensiecontexten. Overeenkomende contexten moeten overeenkomen met alle opgegeven filters. 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

    number[] optioneel

  • incognito

    booleaans optioneel

  • tabIds

    number[] optioneel

  • windowIds

    number[] optioneel

ContextType

Chrome 114+

Enum

"TAB"
Geeft het contexttype aan als een tabblad

POPUP
Hiermee wordt het contexttype aangegeven als een pop-upvenster van een extensie

"BACKGROUND"
Hiermee wordt het contexttype aangegeven als een servicemedewerker.

"OFFSCREEN_DOCUMENT"
Hiermee wordt het contexttype aangegeven als een document buiten het scherm.

"SIDE_PANEL"
Hiermee wordt het contexttype ingesteld als zijvenster.

"DEVELOPER_TOOLS"
Geeft het contexttype aan als tools voor ontwikkelaars.

ExtensionContext

Chrome 114+

Een context die extensiecontent host.

Eigenschappen

  • contextId

    tekenreeks

    Een unieke ID voor deze context

  • contextType

    Het type context waarmee dit overeenkomt.

  • documentId

    tekenreeks optioneel

    Een UUID voor het document dat aan deze context is gekoppeld, of niet gedefinieerd als deze context niet in een document wordt gehost.

  • documentOrigin

    tekenreeks optioneel

    De oorsprong van het document dat aan deze context is gekoppeld, of niet gedefinieerd als de context niet in een document wordt gehost.

  • documentUrl

    tekenreeks optioneel

    De URL van het document dat aan deze context is gekoppeld, of niet gedefinieerd als de context niet in een document wordt gehost.

  • frameId

    getal

    De ID van het frame voor deze context, of -1 als deze context niet wordt gehost in een frame.

  • incognito

    booleaans

    Of de context is gekoppeld aan een incognitoprofiel.

  • tabId

    getal

    De ID van het tabblad voor deze context, of -1 als deze context niet wordt gehost op een tabblad.

  • windowId

    getal

    De ID van het venster voor deze context, of -1 als deze context niet in een venster wordt gehost.

ExtensionLoadDetails

Chrome 157+

Details over de gebeurtenis voor het laden van de extensie.

Eigenschappen

  • previousVersion

    tekenreeks optioneel

    Geeft de vorige versie van de extensie aan. Dit is alleen aanwezig als 'reason' 'update' of 'enable' is. Als 'reason' 'update' is, is dit de versie van de extensie voordat deze werd geüpdatet. Als 'reason' 'enable' is, is dit de huidige versie van de extensie.

  • De reden waarom deze gebeurtenis wordt verstuurd.

MessageSender

Een object met informatie over de scriptcontext die een bericht of verzoek heeft gestuurd.

Eigenschappen

  • documentId

    tekenreeks optioneel

    Chrome 106+

    Een UUID van het document dat de verbinding heeft geopend.

  • documentLifecycle

    tekenreeks optioneel

    Chrome 106+

    De levenscyclus waarin het document dat de verbinding heeft geopend zich bevindt op het moment dat de poort is gemaakt. De levenscyclusstatus van het document is misschien gewijzigd sinds de poort is gemaakt.

  • frameId

    number optioneel

    Het frame dat de verbinding heeft geopend. 0 voor frames op het hoogste niveau, positief voor onderliggende frames. Dit wordt alleen ingesteld als tab is ingesteld.

  • id

    tekenreeks optioneel

    De ID van de extensie die de verbinding heeft geopend, indien van toepassing.

  • nativeApplication

    tekenreeks optioneel

    Chrome 74+

    De naam van de systeemeigen app die de verbinding heeft geopend, indien van toepassing.

  • oorsprong

    tekenreeks optioneel

    Chrome 80+

    De oorsprong van de pagina of het frame dat de verbinding heeft geopend. Deze kan verschillen van de URL-property (bijvoorbeeld about:blank) of kan ondoorzichtig zijn (bijvoorbeeld sandboxed iframes). Dit is handig om te bepalen of de oorsprong kan worden vertrouwd als we dat niet meteen aan de URL kunnen zien.

  • tab

    Tab optioneel

    De tabs.Tab die de verbinding heeft geopend, indien van toepassing. Deze property is alleen aanwezig als de verbinding is geopend via een tabblad (waaronder contentscripts) en alleen als de ontvanger een extensie is, geen app.

  • tlsChannelId

    tekenreeks optioneel

    De TLS-kanaal-ID van de pagina of het frame dat de verbinding heeft geopend, indien aangevraagd door de extensie en indien beschikbaar.

  • url

    tekenreeks 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 waarop het wordt gehost.

OnInstalledReason

Chrome 44+

De reden waarom deze gebeurtenis wordt verstuurd.

Enum

"install"
Geeft aan dat de gebeurtenis een installatie is.

"update"
Geeft aan dat de reden voor de gebeurtenis een extensie-update is.

"chrome_update"
Geeft aan dat de gebeurtenisreden een Chrome-update is.

"shared_module_update"
Geeft aan dat de reden voor de gebeurtenis een update van een gedeelde module is.

OnLoadedReason

Chrome 157+

De reden waarom deze gebeurtenis wordt verstuurd.

Enum

"install"
De extensie is nieuw geïnstalleerd.

update
De extensie is opnieuw geladen na een update.

"browser_update"
De browser is geüpdatet naar een nieuwe versie.

"enable"
De extensie is opnieuw aangezet vanuit een uitgezette status.

"startup"
De extensie wordt geladen tijdens het opstarten van de browser.

"reload"
De extensie is opnieuw geladen (bijvoorbeeld via chrome.runtime.reload() of de gebruiker heeft de extensie handmatig opnieuw geladen).

OnRestartRequiredReason

Chrome 44+

De reden waarom de gebeurtenis wordt verzonden. app_update wordt gebruikt als de herstart nodig is omdat de app is geüpdatet naar een nieuwere versie. 'os_update' wordt gebruikt als opnieuw opstarten nodig is omdat de browser/het OS is geüpdatet naar een nieuwere versie. 'periodic' wordt gebruikt als het systeem langer actief is dan de toegestane uptime die is ingesteld in het bedrijfsbeleid.

Enum

"app_update"
Geeft aan dat de gebeurtenisreden een update van de app is.

"os_update"
Geeft aan dat de gebeurtenis een update van het besturingssysteem is.

"periodic"
Geeft aan dat de gebeurtenis een periodieke herstart van de app is.

PlatformArch

Chrome 44+

De processorarchitectuur van de machine.

Enum

"arm"
Hiermee wordt de processorarchitectuur ingesteld op arm.

"arm64"
Hiermee wordt de processorarchitectuur ingesteld op arm64.

"x86-32"
Hiermee wordt de processorarchitectuur ingesteld op x86-32.

"x86-64"
Hiermee wordt de processorarchitectuur ingesteld op x86-64.

"mips"
Hiermee wordt de processorarchitectuur ingesteld op mips.

"mips64"
Hiermee wordt de processorarchitectuur ingesteld op mips64.

"riscv64"
Hiermee wordt de processorarchitectuur ingesteld op riscv64.

PlatformInfo

Een object met informatie over het huidige platform.

Eigenschappen

  • De processorarchitectuur van de machine.

  • nacl_arch

    PlatformNaclArch optioneel

    Beëindigd sinds Chrome 149

    Dit kenmerk is beëindigd na de volledige verwijdering van Native Client.

    De native client-architectuur. Dit kan op sommige platforms afwijken van de architectuur.

  • Het besturingssysteem waarop Chrome wordt uitgevoerd.

PlatformNaclArch

Chrome 44+ Beëindigd sinds Chrome 149

Deze enum is beëindigd na de volledige verwijdering van Native Client.

De native client-architectuur. Dit kan op sommige platforms afwijken van de architectuur.

Enum

"arm"
Hiermee wordt de native clientarchitectuur ingesteld op arm.

"x86-32"
Hiermee wordt de native clientarchitectuur ingesteld op x86-32.

x86-64
Hiermee wordt de native clientarchitectuur ingesteld op x86-64.

"mips"
Hiermee wordt de native client-architectuur ingesteld op mips.

"mips64"
Hiermee wordt de native client-architectuur ingesteld op mips64.

PlatformOs

Chrome 44+

Het besturingssysteem waarop Chrome wordt uitgevoerd.

Enum

"mac"
Hiermee wordt het MacOS-besturingssysteem aangegeven.

"win"
Hiermee wordt het Windows-besturingssysteem aangegeven.

"android"
Hiermee wordt het Android-besturingssysteem aangegeven.

"cros"
Hiermee wordt het Chrome-besturingssysteem aangegeven.

"linux"
Hiermee wordt het Linux-besturingssysteem aangegeven.

"openbsd"
Hiermee wordt het besturingssysteem OpenBSD aangegeven.

Port

Een object dat communicatie in 2 richtingen met andere pagina's mogelijk maakt. Ga naar Langdurige verbindingen voor meer informatie.

Eigenschappen

  • name

    tekenreeks

    De naam van de poort, zoals aangegeven in de aanroep naar runtime.connect.

  • onDisconnect

    Event<functionvoidvoid>

    Wordt geactiveerd als de poort wordt losgekoppeld van de andere uiteinden. runtime.lastError kan worden ingesteld als de poort is ontkoppeld vanwege een fout. 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 poort).

    De functie onDisconnect.addListener ziet er zo uit:

    (callback: function) => {...}

    • callback

      functie

      De parameter callback ziet er zo uit:

      (port: Port) => void

  • onMessage

    Event<functionvoidvoid>

    Deze gebeurtenis wordt geactiveerd als postMessage wordt aangeroepen door het andere uiteinde van de poort.

    De functie onMessage.addListener ziet er zo uit:

    (callback: function) => {...}

    • callback

      functie

      De parameter callback ziet er zo uit:

      (message: any, port: Port) => void

      • bericht

        alle

      • poort
  • afzender

    MessageSender optioneel

    Deze property is alleen aanwezig op poorten die worden doorgegeven aan onConnect-/onConnectExternal-/onConnectNative-listeners.

  • loskoppelen

    ongeldig

    Verbreek de verbinding met de poort onmiddellijk. Het aanroepen van disconnect() op een poort die al is ontkoppeld, heeft geen effect. Als een poort wordt ontkoppeld, worden er geen nieuwe gebeurtenissen naar deze poort gestuurd.

    De functie disconnect ziet er zo uit:

    () => {...}

  • postMessage

    ongeldig

    Stuur een bericht naar de andere kant van de poort. Als de poort is verbroken, wordt er een fout gegenereerd.

    De functie postMessage ziet er zo uit:

    (message: any) => {...}

    • bericht

      alle

      Chrome 52+

      Het bericht dat je wilt sturen. Dit object moet kunnen worden omgezet in json.

RequestUpdateCheckStatus

Chrome 44+

Resultaat van de updatecheck.

Enum

"throttled"
Geeft aan dat de statuscontrole is beperkt. Dit kan gebeuren na herhaalde controles binnen een korte periode.

"no_update"
Geeft aan dat er geen updates beschikbaar zijn om te installeren.

"update_available"
Geeft aan dat er een update beschikbaar is om te installeren.

Eigenschappen

id

De ID van de extensie/app.

Type

tekenreeks

lastError

Ingevuld met een foutmelding als het aanroepen van een API-functie mislukt, anders niet gedefinieerd. Deze wordt alleen gedefinieerd binnen het bereik van de callback van die functie. Als er een fout optreedt, maar runtime.lastError niet wordt geopend binnen de callback, wordt er een bericht geregistreerd in de console met de API-functie die de fout heeft veroorzaakt. API-functies die beloften retourneren, stellen deze property niet in.

Type

object

Eigenschappen

  • bericht

    tekenreeks optioneel

    Details over de fout die is opgetreden.

Methoden

connect()

chrome.runtime.connect(
  extensionId?: string,
  connectInfo?: object,
)
: Port

Probeert listeners te verbinden binnen een extensie (zoals de achtergrondpagina) of andere extensies/apps. Dit is handig voor contentscripts die verbinding maken met hun extensieprocessen, communicatie tussen apps/extensies en webberichten. Dit maakt geen verbinding met listeners in een contentscript. Extensies kunnen verbinding maken met contentscripts die zijn ingesloten in tabbladen via tabs.connect.

Parameters

  • extensionId

    tekenreeks optioneel

    De ID van de extensie waarmee je verbinding wilt maken. Als je dit weglaat, wordt er geprobeerd verbinding te maken met je eigen extensie. Vereist als u berichten stuurt vanaf een webpagina voor webberichten.

  • connectInfo

    object optioneel

    • includeTlsChannelId

      booleaans optioneel

      Of de TLS-kanaal-ID wordt doorgegeven aan onConnectExternal voor processen die luisteren naar de verbindingsgebeurtenis.

    • name

      tekenreeks optioneel

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

Retourzendingen

  • Poort via welke berichten kunnen worden gestuurd en ontvangen. De gebeurtenis onDisconnect van de poort wordt geactiveerd als de extensie niet bestaat.

connectNative()

chrome.runtime.connectNative(
  application: string,
)
: Port

Maakt verbinding met een systeemeigen app op de hostmachine. Voor deze methode is het recht "nativeMessaging" vereist. Ga naar Native Messaging voor meer informatie.

Parameters

  • applicatie

    tekenreeks

    De naam van de geregistreerde app waarmee je verbinding wilt maken.

Retourzendingen

  • Poort waarmee berichten kunnen worden gestuurd en ontvangen met de app

getBackgroundPage()

Promise Alleen op de voorgrond Beëindigd sinds Chrome 133
chrome.runtime.getBackgroundPage(
  callback?: function,
)
: Promise<Window | undefined>

Achtergrondpagina's bestaan niet in MV3-extensies.

Haalt het JavaScript-object 'window' op voor de achtergrondpagina die wordt uitgevoerd in de huidige extensie/app. Als de achtergrondpagina een gebeurtenispagina is, zorgt het systeem dat deze wordt geladen voordat de callback wordt aangeroepen. Als er geen achtergrondpagina is, wordt er een fout ingesteld.

Parameters

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (backgroundPage?: Window) => void

    • backgroundPage

      Periode optioneel

      Het JavaScript-object 'window' voor de achtergrondpagina.

Retourzendingen

  • Promise<Window | undefined>

    Chrome 99 of hoger

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

getManifest()

chrome.runtime.getManifest(): object

Retourneert informatie over de app of extensie uit het manifest. Het geretourneerde object is een serialisatie van het volledige manifestbestand.

Retourzendingen

  • object

    De manifestgegevens.

getPackageDirectoryEntry()

Promise Alleen voorgrond
chrome.runtime.getPackageDirectoryEntry(
  callback?: function,
)
: Promise<DirectoryEntry>

Retourneert een DirectoryEntry voor de pakketdirectory.

Parameters

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (directoryEntry: DirectoryEntry) => void

    • directoryEntry

      DirectoryEntry

Retourzendingen

  • Promise<DirectoryEntry>

    Chrome 122 of hoger

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

getPlatformInfo()

Promise
chrome.runtime.getPlatformInfo(
  callback?: function,
)
: Promise<PlatformInfo>

Retourneert informatie over het huidige platform.

Parameters

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (platformInfo: PlatformInfo) => void

Retourzendingen

  • Promise<PlatformInfo>

    Chrome 99 of hoger

    Promise die wordt opgelost met informatie over het huidige platform.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

getURL()

chrome.runtime.getURL(
  path: string,
)
: string

Converteert een relatief pad binnen een installatiemap van een app/extensie naar een volledig gekwalificeerde URL.

Parameters

  • pad

    tekenreeks

    Een pad naar een bron in een app/extensie, uitgedrukt ten opzichte van de installatiemap.

Retourzendingen

  • tekenreeks

    De volledig gekwalificeerde URL naar de bron.

getVersion()

Chrome 143+
chrome.runtime.getVersion(): string

Retourneert de versie van de extensie zoals aangegeven in het manifest.

Retourzendingen

  • tekenreeks

    De versie van de extensie.

openOptionsPage()

Promise
chrome.runtime.openOptionsPage(
  callback?: function,
)
: Promise<void>

Open de optiepagina van je extensie, indien mogelijk.

Het exacte gedrag kan afhankelijk zijn van de sleutel options_ui of options_page van je manifest of van wat Chrome op dat moment ondersteunt. De pagina kan bijvoorbeeld worden geopend in een nieuw tabblad, in chrome://extensions, in een app of de pagina kan gewoon een geopende optiepagina activeren. De aanroepende pagina wordt nooit opnieuw geladen.

Als je extensie geen optiepagina declareert of als Chrome om een andere reden geen optiepagina kan maken, stelt de callback lastError in.

Parameters

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 99 of hoger

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

reload()

chrome.runtime.reload(): void

Laadt de app of extensie opnieuw. Deze methode wordt niet ondersteund in de kioskmodus. Gebruik voor de kioskmodus de methode chrome.runtime.restart().

requestUpdateCheck()

Promise
chrome.runtime.requestUpdateCheck(
  callback?: function,
)
: Promise<object>

Vraagt om een onmiddellijke updatecheck voor deze app/extensie.

Belangrijk: De meeste extensies/apps moeten deze methode niet gebruiken, omdat Chrome al elke paar uur automatische controles uitvoert en je naar de gebeurtenis runtime.onUpdateAvailable kunt luisteren zonder requestUpdateCheck aan te roepen.

Deze methode is alleen geschikt om aan te roepen in zeer beperkte omstandigheden, bijvoorbeeld als je extensie communiceert met een backend-service en de backend-service heeft vastgesteld dat de versie van de clientextensie erg verouderd is en je een gebruiker wilt vragen om te updaten. De meeste andere toepassingen van requestUpdateCheck, zoals het onvoorwaardelijk aanroepen op basis van een herhalende timer, verspillen waarschijnlijk alleen client-, netwerk- en serverbronnen.

Opmerking: Als deze functie wordt aangeroepen met een callback, retourneert deze geen object, maar de 2 eigenschappen als afzonderlijke argumenten die worden doorgegeven aan de callback.

Parameters

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (result: object) => void

    • resultaat

      object

      Chrome 109+

      RequestUpdateCheckResult-object met de status van de updatecheck en de details van het resultaat als er een update beschikbaar is

      • Resultaat van de updatecheck.

      • versie

        tekenreeks optioneel

        Als er een update beschikbaar is, bevat dit de versie van de beschikbare update.

Retourzendingen

  • Promise<object>

    Chrome 109+

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

restart()

chrome.runtime.restart(): void

Start het ChromeOS-apparaat opnieuw op als de app in de kioskmodus wordt uitgevoerd. Anders is het een no-op.

restartAfterDelay()

Promise Chrome 53+
chrome.runtime.restartAfterDelay(
  seconds: number,
  callback?: function,
)
: Promise<void>

Start het ChromeOS-apparaat opnieuw op als de app na het aangegeven aantal seconden in de kioskmodus wordt uitgevoerd. Als de functie opnieuw wordt aangeroepen voordat de tijd is verstreken, wordt het opnieuw opstarten vertraagd. Als de waarde -1 wordt aangeroepen, wordt de herstart geannuleerd. In de niet-kioskmodus is dit een no-op. De API mag alleen herhaaldelijk worden aangeroepen door de eerste extensie die deze API aanroept.

Parameters

  • seconden

    getal

    De wachttijd in seconden voordat het apparaat opnieuw wordt opgestart of -1 om een geplande herstart te annuleren.

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 99 of hoger

    Promise die wordt opgelost als een herstartverzoek opnieuw is gepland.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

sendMessage()

Promise
chrome.runtime.sendMessage(
  extensionId?: string,
  message: any,
  options?: object,
  callback?: function,
)
: Promise<any>

Stuurt één bericht naar gebeurtenislisteners binnen je extensie of een andere extensie/app. Vergelijkbaar met runtime.connect, maar stuurt maar één bericht, met een optionele reactie. Als je een bericht naar je extensie stuurt, wordt de gebeurtenis runtime.onMessage geactiveerd in elk frame van je extensie (behalve het frame van de afzender) of runtime.onMessageExternal als het een andere extensie is. Extensies kunnen met deze methode geen berichten naar contentscripts sturen. Gebruik tabs.sendMessage om berichten naar contentscripts te sturen.

Parameters

  • extensionId

    tekenreeks optioneel

    De ID van de extensie waarnaar het bericht moet worden gestuurd. Als je dit weglaat, wordt het bericht naar je eigen extensie/app gestuurd. Dit is vereist als je berichten stuurt vanaf een webpagina voor webberichten.

  • bericht

    alle

    Het bericht dat je wilt sturen. Dit bericht moet een json-object zijn.

  • opties

    object optioneel

    • includeTlsChannelId

      booleaans optioneel

      Of de TLS-kanaal-ID wordt doorgegeven aan onMessageExternal voor processen die luisteren naar de verbindingsgebeurtenis.

  • callback

    functie optioneel

    Chrome 99 of hoger

    De parameter callback ziet er zo uit:

    (response: any) => void

    • reactie

      alle

      Het JSON-antwoordobject dat is gestuurd door de verwerker van het bericht. Als er een fout optreedt tijdens het verbinden met de extensie, wordt de callback aangeroepen zonder argumenten en wordt runtime.lastError ingesteld op de foutmelding.

Retourzendingen

  • Promise<any>

    Chrome 99 of hoger

    Ondersteuning voor Promise is toegevoegd voor extensiecontexten in Chrome 99. Als je communiceert van een webpagina naar een extensie, zijn promises beschikbaar vanaf Chrome 118.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

sendNativeMessage()

Promise
chrome.runtime.sendNativeMessage(
  application: string,
  message: object,
  callback?: function,
)
: Promise<any>

Eén bericht naar een systeemeigen app sturen. Voor deze methode is het recht "nativeMessaging" vereist.

Parameters

  • applicatie

    tekenreeks

    De naam van de host voor native berichten of doelgegevens.

  • bericht

    object

    Het bericht dat wordt doorgegeven aan de host voor native berichten.

  • callback

    functie optioneel

    Chrome 99 of hoger

    De parameter callback ziet er zo uit:

    (response: any) => void

    • reactie

      alle

      Het reactiebericht dat is gestuurd door de host voor native berichten. Als er een fout optreedt tijdens het maken van verbinding met de host voor native berichten, wordt de callback aangeroepen zonder argumenten en wordt runtime.lastError ingesteld op de foutmelding.

Retourzendingen

  • Promise<any>

    Chrome 99 of hoger

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

setUninstallURL()

Promise
chrome.runtime.setUninstallURL(
  url: string,
  callback?: function,
)
: Promise<void>

Hiermee stel je de URL in die moet worden bezocht na verwijdering. Dit kan worden gebruikt om gegevens aan de serverzijde op te schonen, analyses uit te voeren en enquêtes te implementeren. Maximaal 1023 tekens.

Parameters

  • url

    tekenreeks

    URL die moet worden geopend 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 na de verwijdering.

  • callback

    functie optioneel

    Chrome 45+

    De parameter callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 99 of hoger

    Promise die wordt opgelost als de verwijderings-URL is ingesteld. Als de ingevoerde URL ongeldig is, wordt de promise afgewezen.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

Evenementen

onBrowserUpdateAvailable

Beëindigd
chrome.runtime.onBrowserUpdateAvailable.addListener(
  callback: function,
)

Gebruik runtime.onRestartRequired.

Wordt geactiveerd als er een Chrome-update beschikbaar is, maar deze niet onmiddellijk wordt geïnstalleerd omdat de browser opnieuw moet worden opgestart.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    () => void

onConnect

chrome.runtime.onConnect.addListener(
  callback: function,
)

Wordt geactiveerd als er een verbinding wordt gemaakt via een extensieproces of een contentscript (door runtime.connect).

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (port: Port) => void

onConnectExternal

chrome.runtime.onConnectExternal.addListener(
  callback: function,
)

Wordt geactiveerd als er een verbinding wordt gemaakt vanuit een andere extensie (door runtime.connect) of vanaf een extern koppelbare website.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (port: Port) => void

onConnectNative

Chrome 76+
chrome.runtime.onConnectNative.addListener(
  callback: function,
)

Wordt geactiveerd als er een verbinding wordt gemaakt vanuit een systeemeigen app. Voor deze gebeurtenis is het recht "nativeMessaging" vereist. Deze functie wordt alleen ondersteund in ChromeOS.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (port: Port) => void

onEnabled

Chrome 155+
chrome.runtime.onEnabled.addListener(
  callback: function,
)

Wordt geactiveerd als een extensie van de status Uit naar de status Aan gaat.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    () => void

onExtensionLoaded

Chrome 157+
chrome.runtime.onExtensionLoaded.addListener(
  callback: function,
)

Wordt geactiveerd als de extensie wordt toegevoegd aan de set actieve extensies. Dit kan in meerdere scenario's gebeuren: wanneer een extensie voor het eerst wordt geïnstalleerd, wordt geüpdatet naar een nieuwe versie, opnieuw wordt aangezet nadat deze is uitgezet, opnieuw wordt geladen, wordt geladen tijdens het opstarten van de browser of wordt geladen wanneer de browser wordt geüpdatet naar een nieuwe versie.

Parameters

onInstalled

chrome.runtime.onInstalled.addListener(
  callback: function,
)

Wordt geactiveerd wanneer de extensie voor het eerst wordt geïnstalleerd, wanneer de extensie wordt geüpdatet naar een nieuwe versie en wanneer Chrome wordt geüpdatet naar een nieuwe versie.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (details: object) => void

    • details

      object

      • id

        tekenreeks optioneel

        Geeft de ID aan van de geïmporteerde gedeelde module-extensie die is geüpdatet. Dit is alleen aanwezig als 'reason' 'shared_module_update' is.

      • previousVersion

        tekenreeks optioneel

        Geeft de vorige versie van de extensie aan, die net is geüpdatet. Dit is alleen aanwezig als 'reason' de waarde 'update' heeft.

      • De reden waarom deze gebeurtenis wordt verstuurd.

onMessage

chrome.runtime.onMessage.addListener(
  callback: function,
)

Wordt geactiveerd als er een bericht wordt gestuurd vanuit runtime.sendMessage of tabs.sendMessage.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (message: any, sender: MessageSender, sendResponse: function) => boolean | Promise<any> | undefined

    • bericht

      alle

    • afzender
    • sendResponse

      functie

      De parameter sendResponse ziet er zo uit:

      (response?: any) => void

      • reactie

        alleen optioneel

        De reactie die moet worden teruggestuurd naar de afzender van het bericht.

    • returns

      boolean | Promise<any> | undefined

onMessageExternal

chrome.runtime.onMessageExternal.addListener(
  callback: function,
)

Wordt geactiveerd als een bericht wordt gestuurd vanuit een andere extensie (door runtime.sendMessage). Kan niet worden gebruikt in een contentscript.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (message: any, sender: MessageSender, sendResponse: function) => boolean | Promise<any> | undefined

    • bericht

      alle

    • afzender
    • sendResponse

      functie

      De parameter sendResponse ziet er zo uit:

      (response?: any) => void

      • reactie

        alleen optioneel

        De reactie die moet worden teruggestuurd naar de afzender van het bericht.

    • returns

      boolean | Promise<any> | undefined

onRestartRequired

chrome.runtime.onRestartRequired.addListener(
  callback: function,
)

Wordt geactiveerd als een app of het apparaat waarop de app wordt uitgevoerd, opnieuw moet worden opgestart. De app moet alle vensters zo snel mogelijk sluiten, zodat de herstart kan plaatsvinden. Als de app niets doet, wordt de app na een respijtperiode van 24 uur opnieuw opgestart. Deze gebeurtenis wordt op dit moment alleen geactiveerd voor ChromeOS-kiosk-apps.

Parameters

onStartup

chrome.runtime.onStartup.addListener(
  callback: function,
)

Wordt geactiveerd wanneer een profiel waarin deze extensie is geïnstalleerd, voor het eerst wordt opgestart. Deze gebeurtenis wordt niet geactiveerd als een incognitoprofiel wordt gestart, zelfs niet als deze extensie werkt in de gesplitste incognitomodus.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    () => void

onSuspend

chrome.runtime.onSuspend.addListener(
  callback: function,
)

Wordt naar de gebeurtenispagina gestuurd vlak voordat deze wordt verwijderd. Zo kan de extensie wat opschonen. Omdat de pagina wordt verwijderd, is het niet gegarandeerd dat asynchrone bewerkingen die worden gestart tijdens de verwerking van deze gebeurtenis, worden afgerond. Als er meer activiteit voor de gebeurtenispagina plaatsvindt voordat deze wordt verwijderd, wordt de gebeurtenis onSuspendCanceled gestuurd en wordt de pagina niet verwijderd.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    () => void

onSuspendCanceled

chrome.runtime.onSuspendCanceled.addListener(
  callback: function,
)

Wordt na onSuspend gestuurd om aan te geven dat de app toch niet wordt verwijderd.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    () => void

onUpdateAvailable

chrome.runtime.onUpdateAvailable.addListener(
  callback: function,
)

Wordt geactiveerd als er een update beschikbaar is, maar niet onmiddellijk wordt geïnstalleerd omdat de app op dat moment wordt uitgevoerd. Als je niets doet, wordt de update geïnstalleerd de volgende keer dat de achtergrondpagina wordt verwijderd. Als je wilt dat de update eerder wordt geïnstalleerd, kun je chrome.runtime.reload() expliciet aanroepen. Als je extensie een permanente achtergrondpagina gebruikt, wordt de achtergrondpagina natuurlijk nooit verwijderd. Tenzij je chrome.runtime.reload() handmatig aanroept als reactie op deze gebeurtenis, wordt de update pas geïnstalleerd de volgende keer dat Chrome zelf opnieuw wordt opgestart. Als er geen handlers naar deze gebeurtenis luisteren en je extensie een permanente achtergrondpagina heeft, gedraagt deze zich alsof chrome.runtime.reload() wordt aangeroepen als reactie op deze gebeurtenis.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (details: object) => void

    • details

      object

      • versie

        tekenreeks

        Het versienummer van de beschikbare update.