chrome.alarms

refresh date: 2026-09-25 robots: noindex

Beschrijving

Gebruik de chrome.alarms API om code te plannen die periodiek of op een bepaald moment in de toekomst moet worden uitgevoerd.

Rechten

alarms

Manifest

Als je de chrome.alarms API wilt gebruiken, definieer je het recht "alarms" in het manifest:

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

Voorbeelden

In de volgende voorbeelden zie je hoe je een wekker gebruikt en erop reageert. Als je deze API wilt proberen, installeer je het voorbeeld van de Alarm API uit de repository chrome-extension-samples.

Een wekker zetten

In het volgende voorbeeld wordt een alarm ingesteld in de servicemedewerker wanneer de extensie wordt geïnstalleerd:

service-worker.js:

chrome.runtime.onInstalled.addListener(async ({ reason }) => {
  if (reason !== 'install') {
    return;
  }

  // Create an alarm so we have something to look at in the demo
  await chrome.alarms.create('demo-default-alarm', {
    delayInMinutes: 1,
    periodInMinutes: 1
  });
});

Reageren op een alarm

In het volgende voorbeeld wordt het icoon van de actiewerkbalk ingesteld op basis van de naam van de wekker die is afgegaan.

service-worker.js:

chrome.alarms.onAlarm.addListener((alarm) => {
  chrome.action.setIcon({
    path: getIconPath(alarm.name),
  });
});

Typen

Alarm

Eigenschappen

  • name

    tekenreeks

    De naam van deze wekker.

  • periodInMinutes

    number optioneel

    Als de waarde niet null is, is de wekker een herhalende wekker en gaat deze over periodInMinutes minuten weer af.

  • persistAcrossSessions

    booleaans

    Chrome 150+

    Of de wekker moet blijven bestaan tussen sessies (opnieuw opstarten van de browser).

  • scheduledTime

    getal

    De tijd waarop deze wekker is gepland, in milliseconden na het tijdperk (bijv. Date.now() + n). Om prestatieredenen kan de wekker een willekeurige tijd daarna zijn vertraagd.

AlarmCreateInfo

Eigenschappen

  • delayInMinutes

    number optioneel

    De tijdsduur in minuten waarna de gebeurtenis onAlarm moet worden geactiveerd.

  • name

    tekenreeks optioneel

    Chrome 152+

    De naam van deze wekker.

  • periodInMinutes

    number optioneel

    Als deze optie is ingesteld, wordt de onAlarm-gebeurtenis elke periodInMinutes minuten geactiveerd na de eerste gebeurtenis die is aangegeven door when of delayInMinutes. Als je dit niet instelt, gaat de wekker maar één keer af.

  • persistAcrossSessions

    booleaans optioneel

    Chrome 150+

    Of de wekker actief moet blijven tijdens sessies (opnieuw opstarten van de browser). In Chrome is dit standaard ingesteld op Waar om overeen te komen met historisch gedrag, maar je moet dit expliciet instellen om de compatibiliteit tussen browsers te maximaliseren.

  • wanneer

    number optioneel

    De tijd waarop de wekker moet afgaan, in milliseconden na de epoch (bijv. Date.now() + n).

Methoden

clear()

Promise
chrome.alarms.clear(
  name?: string,
  callback?: function,
)
: Promise<boolean>

De wekker met de opgegeven naam wissen.

Parameters

  • name

    tekenreeks optioneel

    De naam van de wekker die je wilt wissen. Standaard wordt de lege tekenreeks ingesteld.

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (wasCleared: boolean) => void

    • wasCleared

      booleaans

Retourzendingen

  • Promise<boolean>

    Chrome 91+

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

clearAll()

Promise
chrome.alarms.clearAll(
  callback?: function,
)
: Promise<boolean | undefined>

Wist alle wekkers.

Parameters

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (wasCleared?: boolean) => void

    • wasCleared

      booleaans optioneel

Retourzendingen

  • Promise<boolean | undefined>

    Chrome 91+

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

create()

Promise
chrome.alarms.create(
  name?: string,
  alarmInfo: AlarmCreateInfo,
  callback?: function,
)
: Promise<void>

Maakt een wekker. Rond de tijd(en) die zijn aangegeven door alarmInfo, wordt de gebeurtenis onAlarm geactiveerd. Als er een andere wekker met dezelfde naam is (of geen naam als er geen is opgegeven), wordt deze geannuleerd en vervangen door deze wekker.

Chrome beperkt alarmen tot maximaal één keer per seconde om de belasting van de machine van de gebruiker te verminderen, maar kan ze nog langer vertragen. Als u delayInMinutes of periodInMinutes instelt op minder dan 1 seconde, wordt dit niet geaccepteerd en krijgt u een waarschuwing. when kan zonder waarschuwing worden ingesteld op minder dan 1 seconde na 'nu', maar de wekker gaat pas na minstens 1 seconde af.

Parameters

  • name

    tekenreeks optioneel

    Optionele naam om deze wekker te herkennen. Standaard wordt de lege tekenreeks ingesteld.

  • alarmInfo

    Beschrijft wanneer de wekker moet afgaan. De begintijd moet worden opgegeven met when of delayInMinutes (maar niet beide). Als periodInMinutes is ingesteld, wordt het alarm elke periodInMinutes minuten herhaald na de eerste gebeurtenis. Als when of delayInMinutes niet is ingesteld voor een herhalende wekker, wordt periodInMinutes gebruikt als standaard voor delayInMinutes.

  • callback

    functie optioneel

    Chrome 111+

    De parameter callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 111+

    Promise die wordt opgelost als de wekker is gemaakt.

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

get()

Promise
chrome.alarms.get(
  name?: string,
  callback?: function,
)
: Promise<Alarm | undefined>

Haalt informatie op over de aangegeven wekker.

Parameters

  • name

    tekenreeks optioneel

    De naam van de wekker die je wilt ophalen. Standaard wordt de lege tekenreeks ingesteld.

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (alarm?: Alarm) => void

    • wekker

      Alarm optioneel

Retourzendingen

  • Promise<Alarm | undefined>

    Chrome 91+

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

getAll()

Promise
chrome.alarms.getAll(
  callback?: function,
)
: Promise<Alarm[]>

Krijgt een matrix van alle wekkers.

Parameters

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (alarms: Alarm[]) => void

Retourzendingen

  • Promise<Alarm[]>

    Chrome 91+

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

Evenementen

onAlarm

chrome.alarms.onAlarm.addListener(
  callback: function,
)

Geactiveerd als een wekker is afgelopen. Handig voor evenementpagina's.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (alarm: Alarm) => void