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
alarmsManifest
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
periodInMinutesminuten 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
onAlarmmoet 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
periodInMinutesminuten geactiveerd na de eerste gebeurtenis die is aangegeven doorwhenofdelayInMinutes. 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()
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
callbackziet 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()
chrome.alarms.clearAll(
callback?: function,
): Promise<boolean | undefined>
Wist alle wekkers.
Parameters
-
callback
functie optioneel
De parameter
callbackziet 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()
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
whenofdelayInMinutes(maar niet beide). AlsperiodInMinutesis ingesteld, wordt het alarm elkeperiodInMinutesminuten herhaald na de eerste gebeurtenis. AlswhenofdelayInMinutesniet is ingesteld voor een herhalende wekker, wordtperiodInMinutesgebruikt als standaard voordelayInMinutes. -
callback
functie optioneel
Chrome 111+De parameter
callbackziet 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()
chrome.alarms.get(
name?: string,
callback?: function,
): Promise<Alarm | undefined>
Haalt informatie op over de aangegeven wekker.
Parameters
Retourzendingen
-
Promise<Alarm | undefined>
Chrome 91+Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
getAll()
chrome.alarms.getAll(
callback?: function,
): Promise<Alarm[]>
Krijgt een matrix van alle wekkers.
Parameters
Retourzendingen
-
Promise<Alarm[]>
Chrome 91+Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.