chrome.runtime

Beschrijving

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

De meeste leden van deze API hebben geen rechten nodig. Deze rechten zijn nodig voor connectNative() , sendNativeMessage() en onNativeConnect .

Het volgende voorbeeld laat zien hoe u de machtiging "nativeMessaging" in het manifest declareert:

manifest.json:

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

Begrippen en gebruik

De Runtime API biedt methoden ter ondersteuning van een aantal gebieden die uw extensies kunnen gebruiken:

Berichten doorgeven
Uw extensie kan communiceren met verschillende contexten binnen uw extensie en ook met andere extensies met behulp van de volgende methoden en gebeurtenissen: connect() , onConnect , onConnectExternal , sendMessage() , onMessage en onMessageExternal . Daarnaast kan uw extensie berichten doorgeven aan native applicaties op het apparaat van de gebruiker met behulp van connectNative() en sendNativeMessage() .
Toegang tot extensie- en platformmetagegevens
Met deze methoden kunt u verschillende specifieke stukjes metadata over de extensie en het platform ophalen. Methoden in deze categorie zijn onder andere getManifest() en getPlatformInfo() .
Het beheren van de levenscyclus en opties van extensies
Met deze eigenschappen kunt u metabewerkingen op de extensie uitvoeren en de optiepagina weergeven. Methoden en gebeurtenissen in deze categorie zijn onder andere onInstalled , onStartup , openOptionsPage() , reload() , requestUpdateCheck() en setUninstallURL() .
Hulpprogramma's
Deze methoden bieden bijvoorbeeld de mogelijkheid om interne bronrepresentaties om te zetten naar externe formaten. Methoden in deze categorie omvatten getURL() .
Hulpprogramma's voor de kioskmodus
Deze methoden zijn alleen beschikbaar op ChromeOS en bestaan voornamelijk ter ondersteuning van kiosk-implementaties. Methoden in deze categorie zijn onder andere restart() en restartAfterDelay() ` .

Gedrag van uitgepakte extensies

Wanneer een uitgepakte extensie opnieuw wordt geladen, wordt dit behandeld 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() .

Gebruiksscenario's

Een afbeelding toevoegen aan een webpagina

Om toegang te krijgen tot een asset die op een ander domein wordt gehost, moet een webpagina de volledige URL van de resource opgeven (bijvoorbeeld <img src="https://example.com/logo.png"> ). Hetzelfde geldt voor het opnemen van een extensie-asset op een webpagina. De twee verschillen zijn dat de assets van de extensie beschikbaar moeten zijn als webtoegankelijke resources en dat contentscripts doorgaans verantwoordelijk zijn voor het injecteren van extensie-assets.

In dit voorbeeld voegt de extensie logo.png toe aan de pagina waarop het contentscript wordt geïnjecteerd met behulp van runtime.getURL() om een volledig gekwalificeerde URL te creëren. Maar eerst moet de asset in het manifest worden gedeclareerd als een webtoegankelijke resource.

manifest.json:

{
  ...
  "web_accessible_resources": [
    {
      "resources": [ "logo.png" ],
      "matches": [ "https://*/*" ]
    }
  ],
  ...
}

inhoud.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 vanuit een inhoudsscript naar de service worker sturen

Het komt vaak voor dat de contentscripts 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 op dezelfde webpagina geopend zijn, hebben deze twee contexten geen directe toegang tot elkaars waarden. In plaats daarvan kan de extensie gebruikmaken van berichtuitwisseling om deze verschillende contexten te coördineren.

In dit voorbeeld heeft het contentscript gegevens van de service worker van de extensie nodig om de gebruikersinterface te initialiseren. Om deze gegevens op te halen, stuurt het script het door de ontwikkelaar gedefinieerde get-user-data bericht naar de service worker, die vervolgens reageert met een kopie van de gebruikersgegevens.

inhoud.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

Veel extensies gebruiken enquêtes na verwijdering om inzicht te krijgen in hoe de extensie haar gebruikers beter van dienst kan zijn en de retentie kan verbeteren. Het volgende voorbeeld laat zien hoe u deze functionaliteit kunt toevoegen.

achtergrond.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 - Webtoegankelijke bronnen voor meer voorbeelden van Runtime API.

Typen

ContextFilter

Chroom 114+

Een filter om te matchen met bepaalde extensiecontexten. Matchende contexten moeten matchen met alle opgegeven filters; elk filter dat niet is opgegeven, matcht met alle beschikbare contexten. Een filter van `{}` matcht dus met alle beschikbare contexten.

Eigenschappen

  • context-ID's

    string[] optioneel

  • contextTypes

    ContextType [] optioneel

  • document-ID's

    string[] optioneel

  • documentOrigins

    string[] optioneel

  • document-URL's

    string[] optioneel

  • frame-ID's

    nummer[] optioneel

  • incognito

    boolean optioneel

  • tabbladen

    nummer[] optioneel

  • venster-ID's

    nummer[] optioneel

ContextType

Chroom 114+

Enum

"TAB"
Geeft het contexttype op als tabblad

"POP-UP"
Geeft het contexttype op als een extensie-pop-upvenster

"ACHTERGROND"
Geeft het contexttype op als service worker.

"OFFSCREEN_DOCUMENT"
Geeft het contexttype aan als een offscreen-document.

"ZIJPANEEL"
Geeft het contexttype aan als een zijpaneel.

"ONTWIKKELAARSGEREEDSCHAP"
Geeft het contexttype op als ontwikkelaarstools.

ExtensionContext

Chroom 114+

Een context die extensie-inhoud host.

Eigenschappen

  • context-ID

    snaar

    Een unieke identificatie voor deze context

  • contextType

    Het type context waar dit mee overeenkomt.

  • document-ID

    string optioneel

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

  • documentOrigin

    string optioneel

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

  • documentUrl

    string optioneel

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

  • frame-ID

    nummer

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

  • incognito

    Booleaanse

    Of de context is gekoppeld aan een incognitoprofiel.

  • tabbladId

    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 is gehost.

MessageSender

Een object met informatie over de scriptcontext waarmee een bericht of verzoek is verzonden.

Eigenschappen

  • document-ID

    string optioneel

    Chroom 106+

    Een UUID van het document dat de verbinding heeft geopend.

  • documentlevenscyclus

    string optioneel

    Chroom 106+

    De levenscyclus van het document dat de verbinding opende op het moment dat de poort werd aangemaakt. Houd er rekening mee dat de levenscyclusstatus van het document mogelijk is gewijzigd sinds de poort is aangemaakt.

  • frame-ID

    nummer optioneel

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

  • id

    string optioneel

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

  • nativeApplication

    string optioneel

    Chroom 74+

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

  • oorsprong

    string optioneel

    Chroom 80+

    De oorsprong van de pagina of het frame dat de verbinding opende. Deze kan variëren afhankelijk van de URL-eigenschap (bijv. about:blank) of ondoorzichtig zijn (bijv. sandbox-iframes). Dit is handig om te bepalen of de oorsprong betrouwbaar is als we dit niet direct uit de URL kunnen opmaken.

  • tabblad

    Tabblad optioneel

    De tabs.Tab die de verbinding heeft geopend, indien van toepassing. Deze eigenschap is alleen aanwezig wanneer de verbinding is geopend vanaf een tabblad (inclusief inhoudsscripts), en alleen als de ontvanger een extensie is en geen app.

  • tlsKanaal-ID

    string 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

    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, niet de URL van de pagina waarop deze wordt gehost.

OnInstalledReason

Chroom 44+

De reden dat dit evenement wordt verzonden.

Enum

"installeren"
Geeft de gebeurtenisreden op als installatie.

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

"chrome_update"
Geeft aan dat de gebeurtenis een Chrome-update betreft.

"gedeelde_module_update"
Geeft de gebeurtenisreden op als een update van een gedeelde module.

OnRestartRequiredReason

Chroom 44+

De reden waarom de gebeurtenis wordt verzonden. 'app_update' wordt gebruikt wanneer opnieuw opstarten nodig is omdat de applicatie wordt bijgewerkt naar een nieuwere versie. 'os_update' wordt gebruikt wanneer opnieuw opstarten nodig is omdat de browser/het besturingssysteem wordt bijgewerkt naar een nieuwere versie. 'periodic' wordt gebruikt wanneer het systeem langer actief is dan de toegestane uptime die is ingesteld in het bedrijfsbeleid.

Enum

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

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

"periodiek"
Geeft aan dat de gebeurtenis plaatsvindt omdat de app periodiek opnieuw moet worden opgestart.

PlatformArch

Chroom 44+

De processorarchitectuur van de machine.

Enum

"arm"
Geeft de processorarchitectuur aan als arm.

"arm64"
Geeft de processorarchitectuur op als arm64.

"x86-32"
Geeft de processorarchitectuur op als x86-32.

"x86-64"
Geeft de processorarchitectuur op als x86-64.

"mips"
Geeft de processorarchitectuur op als mips.

"mips64"
Geeft de processorarchitectuur op als mips64.

"riscv64"
Geeft de processorarchitectuur op als riscv64.

PlatformInfo

Een object met informatie over het huidige platform.

Eigenschappen

  • De processorarchitectuur van de machine.

  • nacl_arch

    De native clientarchitectuur. Deze kan op sommige platforms afwijken van Arch.

  • Het besturingssysteem waarop Chrome draait.

PlatformNaclArch

Chroom 44+

De native clientarchitectuur. Deze kan op sommige platforms afwijken van Arch.

Enum

"arm"
Geeft de native clientarchitectuur op als arm.

"x86-32"
Geeft de native clientarchitectuur op als x86-32.

"x86-64"
Geeft de native clientarchitectuur op als x86-64.

"mips"
Geeft de native clientarchitectuur op als mips.

"mips64"
Geeft mips64 op als de native clientarchitectuur.

"riscv64"
Geeft de native clientarchitectuur op als riscv64.

PlatformOs

Chroom 44+

Het besturingssysteem waarop Chrome draait.

Enum

"mac"
Geeft het MacOS-besturingssysteem aan.

"winnen"
Geeft het Windows-besturingssysteem aan.

"android"
Geeft het Android-besturingssysteem aan.

"kruisen"
Geeft het Chrome-besturingssysteem aan.

"Linux"
Geeft het Linux-besturingssysteem aan.

"openbsd"
Geeft het OpenBSD-besturingssysteem aan.

"fuchsia"
Geeft het Fuchsia-besturingssysteem aan.

Port

Een object dat tweerichtingscommunicatie met andere pagina's mogelijk maakt. Zie Langdurige verbindingen voor meer informatie.

Eigenschappen

  • naam

    snaar

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

  • onDisconnect

    Gebeurtenis<functievoidvoid>

    Wordt geactiveerd wanneer de poort is losgekoppeld van de andere kant(en). runtime.lastError kan worden ingesteld als de poort is losgekoppeld door een fout. Als de poort is gesloten via disconnect , wordt deze gebeurtenis alleen aan de andere kant geactiveerd. Deze gebeurtenis wordt maximaal één keer geactiveerd (zie ook Levensduur poort ).

    De functie onDisconnect.addListener ziet er als volgt uit:

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

    • terugbellen

      functie

      De callback parameter ziet er als volgt uit:

      (port: Port) => void

  • opBericht

    Gebeurtenis<functievoidvoid>

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

    De functie onMessage.addListener ziet er als volgt uit:

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

    • terugbellen

      functie

      De callback parameter ziet er als volgt uit:

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

  • afzender

    MessageSender optioneel

    Deze eigenschap is alleen aanwezig op poorten die zijn doorgegeven aan onConnect- , onConnectExternal- en onConnectNative- listeners.

  • loskoppelen

    leegte

    Koppel de poort onmiddellijk los. Het aanroepen van disconnect() op een reeds losgekoppelde poort heeft geen effect. Wanneer een poort losgekoppeld is, worden er geen nieuwe gebeurtenissen naar deze poort verzonden.

    De disconnect -functie ziet er als volgt uit:

    () => {...}

  • berichtbericht

    leegte

    Stuur een bericht naar de andere kant van de poort. Als de poort niet is aangesloten, wordt er een foutmelding gegenereerd.

    De postMessage -functie ziet er als volgt uit:

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

    • bericht

      elk

      Chroom 52+

      Het te verzenden bericht. Dit object moet JSON-verifieerbaar zijn.

RequestUpdateCheckStatus

Chroom 44+

Resultaat van de update controle.

Enum

"geknepen"
Geeft aan dat de statuscontrole is vertraagd. Dit kan gebeuren na herhaalde controles binnen een korte tijd.

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

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

Eigenschappen

id

De ID van de extensie/app.

Type

snaar

lastError

Wordt gevuld met een foutmelding als het aanroepen van een API-functie mislukt; anders ongedefinieerd. Dit is alleen gedefinieerd binnen de reikwijdte van de callback van die functie. Als er een fout optreedt, maar runtime.lastError niet wordt benaderd binnen de callback, wordt een bericht naar de console gestuurd met 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 fout die is opgetreden.

Methoden

connect()

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

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

Parameters

  • extensie-ID

    string optioneel

    De ID van de extensie waarmee verbinding moet worden gemaakt. Indien weggelaten, wordt geprobeerd verbinding te maken met uw eigen extensie. Vereist bij het verzenden van berichten vanaf een webpagina voor webberichten .

  • connectInfo

    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.

Retourneren

  • 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,
)

Maakt verbinding met een native applicatie op de hostcomputer. 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.

Retourneren

  • Poort waarlangs berichten met de applicatie verzonden en ontvangen kunnen worden

getBackgroundPage()

Promise Foreground is alleen verouderd sinds Chrome 133
chrome.runtime.getBackgroundPage(
  callback?: function,
)

Achtergrondpagina's bestaan niet in MV3-extensies.

Haalt het JavaScript 'window'-object op voor de achtergrondpagina die in 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 er een foutmelding gegenereerd.

Parameters

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (backgroundPage?: Window) => void

    • achtergrondpagina

      Venster optioneel

      Het JavaScript-object 'window' voor de achtergrondpagina.

Retourneren

  • Promise<Venster | undefined>

    Chroom 99+

    Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.

getContexts()

PromiseChrome 116+ MV3+
chrome.runtime.getContexts(
  filter: ContextFilter,
  callback?: function,
)

Haalt informatie op over actieve contexten die aan deze extensie zijn gekoppeld

Parameters

  • Een filter om overeenkomende contexten te vinden. Een context komt overeen als deze overeenkomt met alle opgegeven velden in het filter. Elk niet-gespecificeerd veld in het filter komt overeen met alle contexten.

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (contexts: ExtensionContext[]) => void

    • contexten

      De overeenkomende contexten, indien van toepassing.

Retourneren

  • Belofte< ExtensionContext []>

    Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.

getManifest()

chrome.runtime.getManifest()

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

Retourneren

  • voorwerp

    De details van het manifest.

getPackageDirectoryEntry()

Alleen voorgrond beloven
chrome.runtime.getPackageDirectoryEntry(
  callback?: function,
)

Retourneert een DirectoryEntry voor de pakketdirectory.

Parameters

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (directoryEntry: DirectoryEntry) => void

    • directoryEntry

      DirectoryEntry

Retourneren

  • Belofte<DirectoryEntry>

    Chroom 122+

    Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.

getPlatformInfo()

Belofte
chrome.runtime.getPlatformInfo(
  callback?: function,
)

Geeft informatie terug over het huidige platform.

Parameters

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (platformInfo: PlatformInfo) => void

Retourneren

  • Belofte< PlatformInfo >

    Chroom 99+

    Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.

getURL()

chrome.runtime.getURL(
  path: string,
)

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

Parameters

  • pad

    snaar

    Een pad naar een resource binnen een app/extensie, uitgedrukt in relatieve zin ten opzichte van de installatiedirectory.

Retourneren

  • snaar

    De volledig gekwalificeerde URL naar de bron.

openOptionsPage()

Belofte
chrome.runtime.openOptionsPage(
  callback?: function,
)

Open indien mogelijk de optiepagina van uw extensie.

Het precieze gedrag kan afhangen van options_ui of options_page -sleutel van uw manifest, of van wat Chrome op dat moment ondersteunt. De pagina kan bijvoorbeeld worden geopend in een nieuw tabblad, binnen chrome://extensions, binnen een app, of de focus kan gewoon op een geopende optiespagina liggen. De pagina van de beller wordt hierdoor nooit opnieuw geladen.

Als uw extensie geen optiepagina declareert of Chrome er om een andere reden niet in is geslaagd er een te maken, zal de callback lastError instellen.

Parameters

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    () => void

Retourneren

  • Belofte<leegte>

    Chroom 99+

    Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.

reload()

chrome.runtime.reload()

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

requestUpdateCheck()

Belofte
chrome.runtime.requestUpdateCheck(
  callback?: function,
)

Verzoek om onmiddellijk een updatecontrole uit te voeren voor deze app/extensie.

Belangrijk : de meeste extensies/apps mogen deze methode niet gebruiken, omdat Chrome al elke paar uur automatisch controles uitvoert en u kunt luisteren naar de gebeurtenis runtime.onUpdateAvailable zonder dat u requestUpdateCheck hoeft aan te roepen.

Deze methode is alleen geschikt voor zeer beperkte omstandigheden, bijvoorbeeld wanneer uw extensie communiceert met een backend-service en de backend-service heeft vastgesteld dat de versie van de clientextensie zeer verouderd is en u een gebruiker wilt vragen om te updaten. 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.

Let op: Wanneer deze functie wordt aangeroepen met een callback, retourneert deze functie niet een object, maar de twee eigenschappen als afzonderlijke argumenten die aan de callback worden doorgegeven.

Parameters

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (result: object) => void

    • resultaat

      voorwerp

      Chroom 109+

      RequestUpdateCheckResult-object dat de status van de updatecontrole en eventuele details van het resultaat bevat als er een update beschikbaar is

      • Resultaat van de update controle.

      • versie

        string optioneel

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

Retourneren

  • Belofte<object>

    Chroom 109+

    Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.

restart()

chrome.runtime.restart()

Start het ChromeOS-apparaat opnieuw op wanneer de app in kioskmodus draait. Anders is het geen probleem.

restartAfterDelay()

BelofteChrome 53+
chrome.runtime.restartAfterDelay(
  seconds: number,
  callback?: function,
)

Start het ChromeOS-apparaat opnieuw op wanneer de app na de opgegeven seconden in kioskmodus draait. Als het opnieuw wordt aangeroepen voordat de tijd verstrijkt, wordt het opnieuw opstarten uitgesteld. Als het wordt aangeroepen met een waarde van -1, wordt het opnieuw opstarten geannuleerd. Dit is een no-op in de niet-kioskmodus. Het mag alleen herhaaldelijk worden aangeroepen door de eerste extensie die deze API aanroept.

Parameters

  • seconden

    nummer

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

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    () => void

Retourneren

  • Belofte<leegte>

    Chroom 99+

    Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.

sendMessage()

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

Stuurt één bericht naar event listeners binnen uw extensie of een andere extensie/app. Vergelijkbaar met runtime.connect , maar stuurt slechts één bericht, met een optioneel antwoord. Bij verzending naar uw extensie wordt de gebeurtenis runtime.onMessage geactiveerd in elk frame van uw extensie (behalve het frame van de verzender), of runtime.onMessageExternal als het een andere extensie betreft. Houd er rekening mee dat extensies geen berichten naar contentscripts kunnen sturen met deze methode. Gebruik tabs.sendMessage om berichten naar contentscripts te sturen.

Parameters

  • extensie-ID

    string optioneel

    De ID van de extensie waarnaar het bericht moet worden verzonden. Indien 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 JSON-verifieerbaar object zijn.

  • opties

    object optioneel

    • includeTlsChannelId

      boolean optioneel

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

  • terugbellen

    functie optioneel

    Chroom 99+

    De callback parameter ziet er als volgt uit:

    (response: any) => void

    • antwoord

      elk

      Het JSON-responsobject dat door de handler van het bericht is verzonden. 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.

Retourneren

  • Beloof<elke>

    Chroom 99+

    Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.

sendNativeMessage()

Belofte
chrome.runtime.sendNativeMessage(
  application: string,
  message: object,
  callback?: function,
)

Stuur één bericht naar een native applicatie. Deze methode vereist de machtiging "nativeMessaging" .

Parameters

  • sollicitatie

    snaar

    De naam van de oorspronkelijke berichtenserver.

  • bericht

    voorwerp

    Het bericht dat wordt doorgegeven aan de oorspronkelijke berichtenhost.

  • terugbellen

    functie optioneel

    Chroom 99+

    De callback parameter ziet er als volgt uit:

    (response: any) => void

    • antwoord

      elk

      Het antwoordbericht dat door de native messaging-host wordt verzonden. Als er een fout optreedt tijdens de verbinding met de native messaging-host, wordt de callback aangeroepen zonder argumenten en wordt runtime.lastError ingesteld op het foutbericht.

Retourneren

  • Beloof<elke>

    Chroom 99+

    Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.

setUninstallURL()

Belofte
chrome.runtime.setUninstallURL(
  url: string,
  callback?: function,
)

Stelt de URL in die bij verwijdering moet worden bezocht. Dit kan worden gebruikt om server-side data op te schonen, analyses uit te voeren en enquêtes te implementeren. Maximaal 1023 tekens.

Parameters

  • url

    snaar

    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 verwijdering.

  • terugbellen

    functie optioneel

    Chroom 45+

    De callback parameter ziet er als volgt uit:

    () => void

Retourneren

  • Belofte<leegte>

    Chroom 99+

    Promises worden ondersteund in Manifest V3 en later, maar callbacks worden meegeleverd voor achterwaartse compatibiliteit. U kunt niet beide in dezelfde functieaanroep gebruiken. De promise wordt omgezet met hetzelfde type dat aan de callback wordt doorgegeven.

Evenementen

onBrowserUpdateAvailable

Verouderd
chrome.runtime.onBrowserUpdateAvailable.addListener(
  callback: function,
)

Gebruik runtime.onRestartRequired .

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

Parameters

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

    () => void

onConnect

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

Wordt geactiveerd wanneer een verbinding wordt gemaakt vanuit een uitbreidingsproces of een inhoudsscript (door runtime.connect ).

Parameters

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

    (port: Port) => void

onConnectExternal

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

Wordt geactiveerd wanneer er verbinding wordt gemaakt vanaf een andere extensie (door runtime.connect ) of vanaf een extern verbindingsbare website.

Parameters

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

    (port: Port) => void

onConnectNative

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

Wordt geactiveerd wanneer er verbinding wordt gemaakt vanuit een native applicatie. Deze gebeurtenis vereist de machtiging "nativeMessaging" . Deze functie wordt alleen ondersteund op Chrome OS.

Parameters

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

    (port: Port) => void

onInstalled

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

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

  • terugbellen

    functie

    De callback parameter 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 'reason' 'update' is.

      • De reden dat dit evenement wordt verzonden.

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

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

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

    • bericht

      elk

    • afzender
    • antwoord verzenden

      functie

      De sendResponse parameter ziet er als volgt uit:

      () => void

    • retouren

      boolean | ongedefinieerd

onMessageExternal

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

Wordt geactiveerd wanneer een bericht wordt verzonden vanuit een andere extensie (door runtime.sendMessage ). Kan niet worden gebruikt in een inhoudsscript.

Parameters

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

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

    • bericht

      elk

    • afzender
    • antwoord verzenden

      functie

      De sendResponse parameter ziet er als volgt uit:

      () => void

    • retouren

      boolean | ongedefinieerd

onRestartRequired

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

Wordt geactiveerd wanneer een app of het apparaat waarop de app draait, opnieuw moet worden opgestart. De app moet alle vensters zo snel mogelijk sluiten, zodat de app opnieuw kan worden opgestart. Als de app niets doet, wordt een herstart afgedwongen na een respijtperiode van 24 uur. Momenteel wordt deze gebeurtenis alleen geactiveerd voor Chrome OS-kioskapps.

Parameters

onStartup

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

Wordt geactiveerd wanneer een profiel met deze extensie voor het eerst wordt opgestart. Deze gebeurtenis wordt niet geactiveerd wanneer een incognitoprofiel wordt opgestart, zelfs niet als deze extensie in de 'gesplitste' incognitomodus werkt.

Parameters

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

    () => void

onSuspend

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

Wordt verzonden naar de gebeurtenispagina vlak voordat deze wordt verwijderd. Dit geeft de extensie de mogelijkheid om op te schonen. Houd er rekening mee dat, aangezien de pagina wordt verwijderd, asynchrone bewerkingen die tijdens de verwerking van deze gebeurtenis worden gestart, niet gegarandeerd worden voltooid. Als er meer activiteit op de gebeurtenispagina plaatsvindt voordat deze wordt verwijderd, wordt de gebeurtenis onSuspendCanceled verzonden en wordt de pagina niet verwijderd.

Parameters

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

    () => void

onSuspendCanceled

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

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

Parameters

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

    () => void

onUpdateAvailable

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

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 wanneer de achtergrondpagina de volgende keer wordt verwijderd. Als u wilt dat de update eerder wordt geïnstalleerd, kunt u chrome.runtime.reload() expliciet aanroepen. Als uw extensie een persistente achtergrondpagina gebruikt, wordt de achtergrondpagina natuurlijk nooit verwijderd. 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 persistente achtergrondpagina heeft, gedraagt deze zich alsof chrome.runtime.reload() wordt aangeroepen als reactie op deze gebeurtenis.

Parameters

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

    (details: object) => void

    • details

      voorwerp

      • versie

        snaar

        Het versienummer van de beschikbare update.

onUserScriptConnect

Chroom 115+ MV3+
chrome.runtime.onUserScriptConnect.addListener(
  callback: function,
)

Wordt geactiveerd wanneer er een verbinding wordt gemaakt vanuit een gebruikersscript van deze extensie.

Parameters

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

    (port: Port) => void

onUserScriptMessage

Chroom 115+ MV3+
chrome.runtime.onUserScriptMessage.addListener(
  callback: function,
)

Wordt geactiveerd wanneer een bericht wordt verzonden vanuit een gebruikersscript dat aan dezelfde extensie is gekoppeld.

Parameters

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

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

    • bericht

      elk

    • afzender
    • antwoord verzenden

      functie

      De sendResponse parameter ziet er als volgt uit:

      () => void

    • retouren

      boolean | ongedefinieerd