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
alarmsManifest
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
periodInMinutesdakika 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ı
onAlarmetkinliğ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,
whenveyadelayInMinutestarafından belirtilen ilk etkinlikten sonra herperiodInMinutesdakikada 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()
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ı
callbackparametresi şu şekilde görünür:(wasCleared: boolean) => void
-
wasCleared
boole
-
İadeler
-
Promise<boolean>
Chrome 91 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
clearAll()
chrome.alarms.clearAll(
callback?: function,
): Promise<boolean | undefined>
Tüm alarmları temizler.
Parametreler
-
callback
function isteğe bağlı
callbackparametresi ş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ümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
create()
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ı
whenveyadelayInMinutesile belirtilmelidir (ancak ikisi birden belirtilmemelidir).periodInMinutesayarlanırsa alarm, ilk etkinlikten sonra herperiodInMinutesdakikada bir tekrarlanır. Tekrarlanan bir alarm içinwhenveyadelayInMinutesayarlanmazsadelayInMinutesiçin varsayılan olarakperiodInMinuteskullanılır. -
callback
function isteğe bağlı
Chrome 111+callbackparametresi ş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()
chrome.alarms.get(
name?: string,
callback?: function,
): Promise<Alarm | undefined>
Belirtilen alarm hakkındaki ayrıntıları alır.
Parametreler
İadeler
-
Promise<Alarm | undefined>
Chrome 91 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getAll()
chrome.alarms.getAll(
callback?: function,
): Promise<Alarm[]>
Tüm alarmların dizisini alır.
Parametreler
İadeler
-
Promise<Alarm[]>
Chrome 91 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.