chroom.alarmen

Beschrijving

Gebruik de chrome.alarms API om code te plannen die periodiek of op een bepaald tijdstip in de toekomst wordt uitgevoerd.

Machtigingen

alarms

Manifest

Om de chrome.alarms API te gebruiken, declareert u de machtiging "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 uit te proberen, installeert u het Alarm API-voorbeeld uit de repository chrome-extension-samples .

Stel een alarm in

In het volgende voorbeeld wordt een alarm ingesteld in de service worker 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 pictogram in de actiebalk ingesteld op basis van de naam van het alarm dat is afgegaan.

service-worker.js:

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

Typen

Alarm

Eigenschappen

  • naam

    snaar

    Naam van dit alarm.

  • periodeInMinuten

    nummer optioneel

    Als het alarm niet nul is, is het een herhalend alarm en zal het periodInMinutes minuut opnieuw afgaan.

  • geplande tijd

    nummer

    Het tijdstip waarop dit alarm volgens de planning zou afgaan, in milliseconden na het epoch (bijv. Date.now() + n ). Om prestatieredenen kan het alarm een willekeurige 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, zoals gespecificeerd door when of delayInMinutes , worden geactiveerd. Indien niet ingesteld, wordt het alarm slechts één keer geactiveerd.

  • wanneer

    nummer optioneel

    Tijdstip waarop het alarm moet afgaan, in milliseconden na het tijdperk (bijv. Date.now() + n ).

Methoden

clear()

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

Wist het alarm met de opgegeven naam.

Parameters

  • naam

    string optioneel

    De naam van het alarm dat moet worden gewist. Standaard is dit een lege tekenreeks.

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    (wasCleared: boolean) => void

    • was gewist

      Booleaanse

Retourneren

  • Belofte<boolean>

    Chroom 91+

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

clearAll()

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

Wist alle alarmen.

Parameters

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    (wasCleared: boolean) => void

    • was gewist

      Booleaanse

Retourneren

  • Belofte<boolean>

    Chroom 91+

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

create()

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

Creëert een alarm. Rond de tijd(en) die zijn opgegeven door alarmInfo , wordt de gebeurtenis onAlarm geactiveerd. Als er een ander 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 computer van de gebruiker te verminderen, beperkt Chrome alarmen tot maximaal één keer per 30 seconden, maar kan ze een willekeurig aantal seconden langer vertragen. Een instelling van delayInMinutes of periodInMinutes op minder dan 0.5 wordt dus niet gehonoreerd en genereert een waarschuwing. when kan worden ingesteld op minder dan 30 seconden na "nu" zonder waarschuwing, maar zorgt er niet voor dat het alarm daadwerkelijk gedurende ten minste 30 seconden afgaat.

Om u te helpen bij het debuggen van uw app of extensie, geldt er een onbeperkt aantal keren dat het alarm afgaat nadat u de app of extensie hebt uitgepakt.

Parameters

  • naam

    string optioneel

    Optionele naam om dit alarm te identificeren. Standaard is dit een lege tekenreeks.

  • alarmInfo

    Beschrijft wanneer het alarm moet afgaan. De initiële tijd moet worden opgegeven met when of delayInMinutes (maar niet met beide). Als periodInMinutes is ingesteld, wordt het alarm elke periodInMinutes minuten na de initiële gebeurtenis herhaald. Als when of delayInMinutes niet is ingesteld voor een herhalend alarm, wordt periodInMinutes als standaardwaarde voor delayInMinutes gebruikt.

  • terugbellen

    functie optioneel

    Chroom 111+

    De callback ziet er als volgt uit:

    () => void

Retourneren

  • Belofte<leegte>

    Chroom 111+

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

get()

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

Haalt details op over het opgegeven alarm.

Parameters

  • naam

    string optioneel

    De naam van het op te halen alarm. Standaard is dit een lege tekenreeks.

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    (alarm?: Alarm) => void

Retourneren

  • Belofte< Alarm | undefined>

    Chroom 91+

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

getAll()

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

Haalt een reeks van alle alarmen op.

Parameters

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    (alarms: Alarm[]) => void

Retourneren

  • Belofte< Alarm []>

    Chroom 91+

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

Evenementen

onAlarm

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

Wordt geactiveerd wanneer een alarm is afgelopen. Handig voor evenementenpagina's.

Parameters

  • terugbellen

    functie

    De callback ziet er als volgt uit:

    (alarm: Alarm) => void