Beschrijving
Gebruik de chrome.alarms
API om te plannen dat code periodiek of op een bepaald tijdstip in de toekomst wordt uitgevoerd.
Machtigingen
alarms
Manifest
Om de chrome.alarms
API te gebruiken, declareert u de toestemming "alarms"
in het manifest :
{
"name": "My extension",
...
"permissions": [
"alarms"
],
...
}
Voorbeelden
De volgende voorbeelden laten zien hoe u een alarm kunt gebruiken en erop kunt reageren. Om deze API te proberen, installeert u het Alarm API-voorbeeld uit de chrome-extension-samples- repository.
Zet een wekker
In het volgende voorbeeld wordt een alarm ingesteld bij de servicemedewerker wanneer de extensie wordt geïnstalleerd:
service-werker.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
});
});
Reageer op een alarm
In het volgende voorbeeld wordt het actiewerkbalkpictogram ingesteld op basis van de naam van het alarm dat is afgegaan.
service-werker.js:
chrome.alarms.onAlarm.addListener((alarm) => {
chrome.action.setIcon({
path: getIconPath(alarm.name),
});
});
Soorten
Alarm
Eigenschappen
- naam
snaar
Naam van dit alarm.
- periodeInMinuten
nummer optioneel
Als het alarm niet nul is, is het een herhalend alarm en wordt het binnen
periodInMinutes
minuten opnieuw geactiveerd. - geplande tijd
nummer
Tijd waarop dit alarm volgens planning zou afgaan, in milliseconden na het tijdperk (bijvoorbeeld
Date.now() + n
). Om prestatieredenen kan het alarm een willekeurige hoeveelheid vertraging hebben opgelopen.
AlarmCreateInfo
Eigenschappen
- vertragingInMinuten
nummer optioneel
Tijdsduur in minuten waarna de
onAlarm
gebeurtenis moet worden geactiveerd. - periodeInMinuten
nummer optioneel
Indien ingesteld, moet de onAlarm-gebeurtenis elke
periodInMinutes
minuten na de initiële gebeurtenis worden geactiveerd die is opgegeven doorwhen
ofdelayInMinutes
. Indien niet ingesteld, zal het alarm slechts één keer afgaan. - wanneer
nummer optioneel
Tijd waarop het alarm moet afgaan, in milliseconden na het tijdperk (bijvoorbeeld
Date.now() + n
).
Methoden
clear()
chrome.alarms.clear(
name?: string,
callback?: function,
)
Wist het alarm met de opgegeven naam.
Parameters
- naam
tekenreeks optioneel
De naam van het alarm dat moet worden gewist. Standaard ingesteld op de lege tekenreeks.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(wasCleared: boolean) => void
- werd gewist
Booleaans
Retouren
Beloof<boolean>
Chroom 91+Beloften worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
clearAll()
chrome.alarms.clearAll(
callback?: function,
)
Wist alle alarmen.
Parameters
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(wasCleared: boolean) => void
- werd gewist
Booleaans
Retouren
Beloof<boolean>
Chroom 91+Beloften worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
create()
chrome.alarms.create(
name?: string,
alarmInfo: AlarmCreateInfo,
callback?: function,
)
Creëert een alarm. Tegen de tijd(en) gespecificeerd door alarmInfo
wordt de gebeurtenis onAlarm
geactiveerd. Als er nog een alarm is met dezelfde naam (of geen naam als er geen is opgegeven), wordt dit geannuleerd en vervangen door dit alarm.
Om de belasting van de machine van de gebruiker te verminderen, beperkt Chrome alarmen tot maximaal één keer per 30 seconden, maar kan deze nog een willekeurige hoeveelheid langer worden uitgesteld. Dat wil zeggen dat het instellen van delayInMinutes
of periodInMinutes
op minder dan 0.5
niet wordt gehonoreerd en een waarschuwing zal veroorzaken. when
kan worden ingesteld op minder dan 30 seconden na "nu" zonder waarschuwing, maar zorgt er niet voor dat het alarm gedurende ten minste 30 seconden afgaat.
Om u te helpen bij het opsporen van fouten in uw app of extensie, geldt er geen limiet voor hoe vaak het alarm kan afgaan als u deze uitgepakt heeft geladen.
Parameters
- naam
tekenreeks optioneel
Optionele naam om dit alarm te identificeren. Standaard ingesteld op de lege tekenreeks.
- alarmInfo
Beschrijft wanneer het alarm moet afgaan. De initiële tijd moet worden opgegeven door
when
ofdelayInMinutes
(maar niet door beide). AlsperiodInMinutes
is ingesteld, wordt het alarm iedereperiodInMinutes
minuten na de eerste gebeurtenis herhaald. Als nochwhen
nochdelayInMinutes
is ingesteld voor een herhalend alarm, wordtperiodInMinutes
als standaard gebruikt voordelayInMinutes
. - terugbellen
functie optioneel
Chroom 111+De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 111+Beloften worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
get()
chrome.alarms.get(
name?: string,
callback?: function,
)
Haalt details op over het opgegeven alarm.
Parameters
Retouren
Belofte < Alarm | ongedefinieerd>
Chroom 91+Beloften worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getAll()
chrome.alarms.getAll(
callback?: function,
)
Krijgt een array van alle alarmen.
Parameters
Retouren
Beloof < Alarm []>
Chroom 91+Beloften worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.