chrome.alarms

refresh date: 2026-09-25 robots: noindex

Açıklama

Kodun düzenli olarak veya gelecekte belirli bir zamanda çalıştırılmasını planlamak için chrome.alarms API'yi kullanın.

İzinler

alarms

Manifest

chrome.alarms API'yi kullanmak için manifest dosyasında "alarms" iznini beyan edin:

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

Örnekler

Aşağıdaki örneklerde, alarmın nasıl kullanılacağı ve alarma nasıl yanıt verileceği gösterilmektedir. Bu API'yi denemek için chrome-extension-samples deposundan Alarm API örneğini yükleyin.

Alarm kur

Aşağıdaki örnekte, uzantı yüklendiğinde hizmet çalışanında bir alarm ayarlanmaktadır:

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
  });
});

Alarmı yanıtlama

Aşağıdaki örnekte, işlem araç çubuğu simgesi, çalan alarmın adına göre ayarlanmaktadır.

service-worker.js:

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

Türler

Alarm

Özellikler

  • ad

    dize

    Bu alarmın adı.

  • periodInMinutes

    number isteğe bağlı

    Boş değilse alarm yinelenen bir alarmdır ve periodInMinutes dakika sonra tekrar çalar.

  • persistAcrossSessions

    boole

    Chrome 150+

    Alarmın oturumlar (tarayıcı yeniden başlatmaları) arasında kalıcı olup olmayacağı.

  • scheduledTime

    sayı

    Bu alarmın çalması için planlanan zaman, milisaniye cinsinden (ör. Date.now() + n). Performans nedeniyle alarm, bu sürenin ötesinde rastgele bir süre geciktirilmiş olabilir.

AlarmCreateInfo

Özellikler

  • delayInMinutes

    number isteğe bağlı

    onAlarm etkinliğinin tetiklenmesi için geçmesi gereken süre (dakika cinsinden).

  • ad

    string isteğe bağlı

    Chrome 152+

    Bu alarmın adı.

  • periodInMinutes

    number isteğe bağlı

    Ayarlanırsa onAlarm etkinliği, when veya delayInMinutes tarafından belirtilen ilk etkinlikten sonra her periodInMinutes dakikada bir tetiklenir. Ayarlanmazsa alarm yalnızca bir kez çalar.

  • persistAcrossSessions

    boole isteğe bağlı

    Chrome 150+

    Alarmın oturumlar (tarayıcı yeniden başlatmaları) arasında kalıcı olup olmayacağı. Chrome'da bu değer, geçmişteki davranışla eşleşmesi için varsayılan olarak "true" değerine ayarlanır ancak tarayıcılar arasında uyumluluğu en üst düzeye çıkarmak için bu değeri açıkça ayarlamanız gerekir.

  • ne zaman

    number isteğe bağlı

    Alarmın çalması gereken zaman, milisaniye cinsinden (ör. Date.now() + n).

Yöntemler

clear()

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

Belirtilen ada sahip alarmı siler.

Parametreler

  • ad

    string isteğe bağlı

    Temizlenecek alarmın adı. Varsayılan olarak boş dize kullanılır.

  • callback

    function isteğe bağlı

    callback parametresi şu şekilde görünür:

    (wasCleared: boolean) => void

    • wasCleared

      boole

İadeler

  • Promise<boolean>

    Chrome 91 ve sonraki sürümler

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

clearAll()

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

Tüm alarmları temizler.

Parametreler

  • callback

    function isteğe bağlı

    callback parametresi şu şekilde görünür:

    (wasCleared?: boolean) => void

    • wasCleared

      boole isteğe bağlı

İadeler

  • Promise<boolean | undefined>

    Chrome 91 ve sonraki sürümler

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

create()

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

Alarm oluşturur. alarmInfo tarafından belirtilen zamanlara yakın bir zamanda onAlarm etkinliği tetiklenir. Aynı ada sahip başka bir alarm varsa (veya ad belirtilmemişse) iptal edilir ve yerine bu alarm kullanılır.

Chrome, kullanıcının makinesindeki yükü azaltmak için alarmları saniyede en fazla bir kez olacak şekilde sınırlandırır ancak rastgele bir süre daha geciktirebilir. Yani delayInMinutes veya periodInMinutes değerinin 1 saniyeden daha kısa bir süreye ayarlanması dikkate alınmaz ve uyarıya neden olur. when, uyarı olmadan "şimdi"den sonraki 1 saniyeden daha kısa bir süreye ayarlanabilir ancak alarmın en az 1 saniye boyunca çalmasına neden olmaz.

Parametreler

  • ad

    string isteğe bağlı

    Bu alarmı tanımlamak için isteğe bağlı ad. Varsayılan olarak boş dize kullanılır.

  • alarmInfo

    Alarmın ne zaman çalacağını açıklar. Başlangıç zamanı when veya delayInMinutes ile belirtilmelidir (ancak ikisi birden belirtilmemelidir). periodInMinutes ayarlanırsa alarm, ilk etkinlikten sonra her periodInMinutes dakikada bir tekrarlanır. Tekrarlanan bir alarm için when veya delayInMinutes ayarlanmazsa delayInMinutes için varsayılan olarak periodInMinutes kullanılır.

  • callback

    function isteğe bağlı

    Chrome 111+

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Promise<void>

    Chrome 111+

    Alarm oluşturulduğunda çözümlenen Promise.

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

get()

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

Belirtilen alarm hakkındaki ayrıntıları alır.

Parametreler

  • ad

    string isteğe bağlı

    Alınacak alarmın adı. Varsayılan olarak boş dize kullanılır.

  • callback

    function isteğe bağlı

    callback parametresi şu şekilde görünür:

    (alarm?: Alarm) => void

    • alarm

      Alarm isteğe bağlı

İadeler

  • Promise<Alarm | undefined>

    Chrome 91 ve sonraki sürümler

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

getAll()

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

Tüm alarmların dizisini alır.

Parametreler

  • callback

    function isteğe bağlı

    callback parametresi şu şekilde görünür:

    (alarms: Alarm[]) => void

İadeler

  • Promise<Alarm[]>

    Chrome 91 ve sonraki sürümler

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

Etkinlikler

onAlarm

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

Alarm süresi dolduğunda tetiklenir. Etkinlik sayfaları için kullanışlıdır.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (alarm: Alarm) => void