refresh date: 2026-09-25 robots: noindex
Açıklama
Kodun periyodik olarak veya gelecekte belirli bir zamanda çalıştırılmasını planlamak için chrome.alarms API'sini kullanın.
İzinler
alarmsManifest
chrome.alarms API'sini kullanmak için "alarms" iznini manifest dosyasında bildirin:
{
"name": "My extension",
...
"permissions": [
"alarms"
],
...
}
Örnekler
Aşağıdaki örneklerde, alarmların nasıl kullanılacağı ve bunlara 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 alarm ayarlanı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
});
});
Alarma yanıt verme
Aşağıdaki örnekte, işlem araç çubuğu simgesi, çalan alarm nesnesi adına göre ayarlanı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
periodInMinutesdakika sonra tekrar tetiklenir. -
persistAcrossSessions
boole
Chrome 150 veya daha yeni bir sürümAlarmın oturumlar (tarayıcı yeniden başlatmaları) arasında kalıcı olup olmayacağı.
-
scheduledTime
sayı
Bu alarmın tetiklenmesi planlanan zaman, dönemden sonraki milisaniye cinsinden (ör.
Date.now() + n). Performans nedenleriyle alarm, bu sürenin ötesinde rastgele bir süre gecikmiş olabilir.
AlarmCreateInfo
Özellikler
-
delayInMinutes
number isteğe bağlı
onAlarmetkinliğinin tetiklenmesi gereken süre (dakika cinsinden). -
ad
dize isteğe bağlı
Chrome 152 ve sonraki sürümlerBu alarmın adı.
-
periodInMinutes
number isteğe bağlı
Ayarlanırsa onAlarm etkinliği,
whenveyadelayInMinutesile belirtilen ilk etkinlikten sonra herperiodInMinutesdakikada bir tetiklenmelidir. Ayarlanmazsa alarm yalnızca bir kez çalar. -
persistAcrossSessions
boolean isteğe bağlı
Chrome 150 veya daha yeni bir sürümAlarmın oturumlar (tarayıcı yeniden başlatmaları) arasında kalıcı olup olmayacağı. Chrome'da bu ayar, geçmişteki davranışla eşleşmesi için varsayılan olarak doğru değerine ayarlanır ancak tarayıcılar arası uyumluluğu en üst düzeye çıkarmak için bunu açıkça ayarlamanız gerekir.
-
ne zaman
number isteğe bağlı
Alarmın tetiklenmesi gereken zaman (sıfır zamanından sonraki milisaniye cinsinden) (ör.
Date.now() + n).
Yöntemler
clear()
chrome.alarms.clear(
name?: string,
callback?: function,
): Promise<boolean>
Belirtilen ada sahip alarmı temizler.
Parametreler
-
ad
dize isteğe bağlı
Temizlenecek alarmın adı. Varsayılan olarak boş dize kullanılır.
-
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(wasCleared: boolean) => void
-
wasCleared
boole
-
İadeler
-
Promise<boolean>
Chrome 91 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
clearAll()
chrome.alarms.clearAll(
callback?: function,
): Promise<boolean>
Tüm alarmları temizler.
Parametreler
-
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(wasCleared: boolean) => void
-
wasCleared
boole
-
İadeler
-
Promise<boolean>
Chrome 91 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
create()
chrome.alarms.create(
name?: string,
alarmInfo: AlarmCreateInfo,
callback?: function,
): Promise<void>
Alarm oluşturur. alarmInfo tarafından belirtilen saatlerde onAlarm etkinliği tetiklenir. Aynı ada sahip (veya ad belirtilmemişse adsız) başka bir alarm varsa bu alarm iptal edilir ve yerine bu alarm ayarlanır.
Chrome, kullanıcının makinesindeki yükü azaltmak için alarmları en fazla 30 saniyede bir kez olacak şekilde sınırlar ancak alarmları rastgele bir süre daha geciktirebilir. Yani delayInMinutes veya periodInMinutes değerinin 0.5 değerinden daha düşük olması durumunda bu değerler dikkate alınmaz ve uyarı gösterilir. when, uyarı verilmeden "şimdi"den 30 saniye sonrasına ayarlanabilir ancak alarmın tetiklenmesi için en az 30 saniye geçmesi gerekir.
Uygulamanızda veya uzantınızda hata ayıklamanıza yardımcı olmak için, paketi açılmamış olarak yüklediğinizde alarmın ne sıklıkta tetiklenebileceğine dair bir sınır yoktur.
Parametreler
-
ad
dize 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 çalması gerektiğini açıklar. Başlangıç zamanı
whenveyadelayInMinutesile belirtilmelidir (ancak ikisi birden belirtilmemelidir).periodInMinutesayarlanırsa alarm, ilk etkinlikten sonra herperiodInMinutesdakikada bir tekrarlanır. Tekrarlayan bir alarm içinwhenveyadelayInMinutesayarlanmamışsadelayInMinutesiçin varsayılan olarakperiodInMinuteskullanılır. -
callback
işlev isteğe bağlı
Chrome 111 veya daha yeni bir sürümcallbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 111 veya daha yeni bir sürümAlarm oluşturulduğunda çözümlenen söz.
Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
get()
chrome.alarms.get(
name?: string,
callback?: function,
): Promise<Alarm | undefined>
Belirtilen alarm hakkında ayrıntıları alır.
Parametreler
İadeler
-
Promise<Alarm | undefined>
Chrome 91 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getAll()
chrome.alarms.getAll(
callback?: function,
): Promise<Alarm[]>
Tüm alarmların dizisini alır.
Parametreler
İadeler
-
Promise<Alarm[]>
Chrome 91 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.