Selainlaajennusten kehittäminen (Chrome ja Edge) · Oppitunti

Tehtävien ajoittaminen Alarms API:lla

Suorita säännöllisiä ja viivästettyjä taustatehtäviä luotettavasti Manifest V3:n service workerissa käyttämällä chrome.alarmsia.

Oppitunti 4/413 vaihetta

Tehtävien ajoittaminen Alarms API:lla on ilmainen Selainlaajennusten kehittäminen (Chrome ja Edge)-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Selainlaajennusten kehittäminen (Chrome ja Edge)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Selainlaajennusten kehittäminen (Chrome ja Edge)-kurssilla on yhteensä 4 oppituntia.

Miksi setIntervalia ei käytetä

Manifest V3:ssa service worker poistuu käytöstä ollessaan joutilaana, joten setTimeout ja setInterval eivät ole luotettavia ajastettuun työhön. alarms-API ratkaisee tämän herättämällä workerin, kun tehtävä on aika suorittaa.

Käyttöoikeuden ilmoittaminen

Lisätkää manifestiin alarms-käyttöoikeus ennen API:n käyttämistä.

{
  "permissions": ["alarms"]
}

Kertaluonteisen hälytyksen luominen

Käyttäkää yhden viivästetyn tehtävän suorittamiseen alarms.create-metodia yhdessä delayInMinutes-asetuksen kanssa.

chrome.alarms.create('cleanup', { delayInMinutes: 5 })

Toistuvan hälytyksen luominen

Lisätkää periodInMinutes, jotta hälytys laukeaa toistuvasti aikataulun mukaan.

chrome.alarms.create('sync', { periodInMinutes: 30 })

Hälytyksen käsitteleminen

Kuunnelkaa onAlarm-tapahtumaa service workerin ylätasolla. Hälytysobjekti kertoo, mikä hälytys laukesi.

chrome.alarms.onAlarm.addListener((alarm) => {
  if (alarm.name === 'sync') {
    doSync()
  }
})

Kuuntelijoiden rekisteröiminen ylätasolla

Koska worker käynnistyy uudelleen, rekisteröikää onAlarm synkronisesti heti komentosarjan ensimmäisellä suorituskerralla, älkääkä async-callbackin sisällä, sillä herätystapahtuma saattaa muuten jäädä huomaamatta.

// top of background.js, runs on every wake
chrome.alarms.onAlarm.addListener(handleAlarm)

Vähimmäisjakso

Pakatuissa laajennuksissa pienin toistuva jakso on noin yksi minuutti. Lyhyemmät välit pyöristetään tähän arvoon, joten älkää luottako sekuntitason ajoitukseen.

chrome.alarms.create('tick', { periodInMinutes: 1 })

Hälytysten tarkasteleminen

Tarkistakaa ajastetut hälytykset alarms.get- tai alarms.getAll-metodilla. Näin voitte välttää kaksoiskappaleet.

const a = await chrome.alarms.get('sync')
if (!a) chrome.alarms.create('sync', { periodInMinutes: 30 })

Hälytysten tyhjentäminen

Poistakaa yksittäinen hälytys clear-metodilla tai kaikki hälytykset clearAll-metodilla, kun ominaisuus poistetaan käytöstä.

chrome.alarms.clear('sync')
chrome.alarms.clearAll()

Uudelleenluominen asennuksen yhteydessä

Määrittäkää hälytykset onInstalled-tapahtumassa, jotta ne ovat käytettävissä heti laajennuksen asennuksen tai päivityksen jälkeen.

chrome.runtime.onInstalled.addListener(() => {
  chrome.alarms.create('sync', { periodInMinutes: 30 })
})

Työn pitäminen lyhyenä

Worker saattaa poistua käytöstä pian hälytyksen jälkeen. Pitäkää tehtävä lyhyenä, tallentakaa tila storageen ja välttäkää pitkäkestoisia silmukoita, jotka saatetaan keskeyttää.

Pikatesti

Testatkaa alarms-API:a koskevat tietonne.

Kertaus

Opitte luotettavan ajastuksen perusteet:

  • Käyttäkää alarms.create-metodia viiveen tai jakson kanssa
  • Käsitelkää ylätasolla rekisteröityä onAlarm-tapahtumaa
  • Huomioikaa noin yhden minuutin vähimmäisjakso
  • Tarkastelkaa, tyhjentäkää ja luokaa hälytykset uudelleen
  • Pitäkää hälytyksen suorittama työ lyhyenä

alarms-API tekee taustalla tapahtuvasta ajastuksesta luotettavaa Manifest V3:ssa.

Aloita maksutta

Opi JavaScript tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Tehtävien ajoittaminen Alarms API:lla” ilmainen?

Kyllä – oppitunnin ”Tehtävien ajoittaminen Alarms API:lla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Selainlaajennusten kehittäminen (Chrome ja Edge)-kurssin, päivitä CoddyKit PROhon. Selainlaajennusten kehittäminen (Chrome ja Edge)-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Tehtävien ajoittaminen Alarms API:lla”?

Suorita säännöllisiä ja viivästettyjä taustatehtäviä luotettavasti Manifest V3:n service workerissa käyttämällä chrome.alarmsia. Harjoittelet Selainlaajennusten kehittäminen (Chrome ja Edge)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Selainlaajennusten kehittäminen (Chrome ja Edge)-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Selainlaajennusten kehittäminen (Chrome ja Edge)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Tehtävien ajoittaminen Alarms API:lla”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Selainlaajennusten kehittäminen (Chrome ja Edge)-oppitunnilla?

Kyllä. Jokainen Selainlaajennusten kehittäminen (Chrome ja Edge)-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Välilehtien hallinta ja ohjaus
  2. Lomakkeiden lähettäminen ohjelmallisesti
  3. Käyttäjän vuorovaikutuksen automatisointi
  4. Tehtävien ajoittaminen Alarms API:lla
← Takaisin: Selainlaajennusten kehittäminen (Chrome ja Edge)