chrome.alarms

refresh date: 2026-09-25 robots: noindex

ब्यौरा

chrome.alarms एपीआई का इस्तेमाल करके, कोड को समय-समय पर या आने वाले समय में किसी तय समय पर चलाने के लिए शेड्यूल करें.

अनुमतियां

alarms

मेनिफ़ेस्ट

chrome.alarms एपीआई का इस्तेमाल करने के लिए, मेनिफ़ेस्ट में "alarms" अनुमति का एलान करें:

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

उदाहरण

यहां दिए गए उदाहरणों में, अलार्म का इस्तेमाल करने और उसका जवाब देने का तरीका बताया गया है. इस एपीआई को आज़माने के लिए, chrome-extension-samples रिपॉज़िटरी से Alarm API का उदाहरण इंस्टॉल करें.

अलार्म सेट करो

यहां दिए गए उदाहरण में, एक्सटेंशन इंस्टॉल होने पर सर्विस वर्कर में अलार्म सेट किया गया है:

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

किसी अलार्म का जवाब देना

यहां दिए गए उदाहरण में, बंद हुए अलार्म के नाम के आधार पर ऐक्शन टूलबार आइकॉन सेट किया गया है.

service-worker.js:

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

टाइप

Alarm

प्रॉपर्टी

  • नाम

    स्ट्रिंग

    इस अलार्म का नाम.

  • periodInMinutes

    number ज़रूरी नहीं

    अगर यह वैल्यू शून्य नहीं है, तो इसका मतलब है कि अलार्म बार-बार बजने वाला है और periodInMinutes मिनट बाद फिर से बजेगा.

  • persistAcrossSessions

    बूलियन

    Chrome 150+

    क्या अलार्म को सभी सेशन (ब्राउज़र रीस्टार्ट होने पर) में चालू रखना चाहिए.

  • scheduledTime

    संख्या

    वह समय जब इस अलार्म को बजने के लिए शेड्यूल किया गया था. यह समय, epoch के बाद मिलीसेकंड में होता है (उदाहरण के लिए, Date.now() + n). परफ़ॉर्मेंस की वजहों से, अलार्म बजने में देरी हो सकती है.

AlarmCreateInfo

प्रॉपर्टी

  • delayInMinutes

    number ज़रूरी नहीं

    मिनट में वह समय जिसके बाद onAlarm इवेंट ट्रिगर होना चाहिए.

  • नाम

    string ज़रूरी नहीं

    Chrome 152 या इसके बाद का वर्शन

    इस अलार्म का नाम.

  • periodInMinutes

    number ज़रूरी नहीं

    अगर सेट किया गया है, तो when या delayInMinutes से तय किए गए शुरुआती इवेंट के बाद, onAlarm इवेंट हर periodInMinutes मिनट में ट्रिगर होना चाहिए. अगर यह सेट नहीं है, तो अलार्म सिर्फ़ एक बार बजेगा.

  • persistAcrossSessions

    बूलियन ज़रूरी नहीं

    Chrome 150+

    क्या अलार्म को सभी सेशन (ब्राउज़र रीस्टार्ट होने पर) में चालू रखना चाहिए. Chrome में, यह डिफ़ॉल्ट रूप से true पर सेट होता है, ताकि यह पहले की तरह काम करे. हालांकि, आपको इसे साफ़ तौर पर सेट करना चाहिए, ताकि यह अलग-अलग ब्राउज़र के साथ काम कर सके.

  • कब

    number ज़रूरी नहीं

    अलार्म बजने का समय, Epoch के बाद मिलीसेकंड में (उदाहरण के लिए, Date.now() + n).

तरीके

clear()

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

दिए गए नाम वाले अलार्म को हटाता है.

पैरामीटर

  • नाम

    string ज़रूरी नहीं

    उस अलार्म का नाम जिसे बंद करना है. डिफ़ॉल्ट तौर पर, यह खाली स्ट्रिंग होती है.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (wasCleared: boolean) => void

    • wasCleared

      बूलियन

रिटर्न

  • Promise<boolean>

    Chrome 91+

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

clearAll()

वादा
chrome.alarms.clearAll(
  callback?: function,
)
: Promise<boolean | undefined>

सभी अलार्म मिटा देता है.

पैरामीटर

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (wasCleared?: boolean) => void

    • wasCleared

      बूलियन ज़रूरी नहीं

रिटर्न

  • Promise<boolean | undefined>

    Chrome 91+

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

create()

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

अलार्म सेट करता है. alarmInfo में बताए गए समय के आस-पास, onAlarm इवेंट ट्रिगर होता है. अगर एक ही नाम वाला कोई दूसरा अलार्म है (या कोई नाम नहीं है, अगर कोई नाम नहीं दिया गया है), तो उसे रद्द कर दिया जाएगा और उसकी जगह यह अलार्म ले लेगा.

उपयोगकर्ता की मशीन पर लोड कम करने के लिए, Chrome हर सेकंड में ज़्यादा से ज़्यादा एक बार अलार्म सेट करने की अनुमति देता है. हालांकि, इसमें ज़्यादा देरी भी हो सकती है. इसका मतलब है कि delayInMinutes या periodInMinutes को एक सेकंड से कम पर सेट करने पर, उसे लागू नहीं किया जाएगा और आपको एक चेतावनी मिलेगी. when को बिना किसी चेतावनी के "अभी" के बाद, एक सेकंड से कम समय पर सेट किया जा सकता है. हालांकि, अलार्म कम से कम एक सेकंड तक नहीं बजेगा.

पैरामीटर

  • नाम

    string ज़रूरी नहीं

    इस अलार्म की पहचान करने के लिए, कोई नाम डालें. हालांकि, ऐसा करना ज़रूरी नहीं है. डिफ़ॉल्ट तौर पर, यह खाली स्ट्रिंग होती है.

  • alarmInfo

    इससे पता चलता है कि अलार्म कब बजना चाहिए. शुरुआती समय को when या delayInMinutes में से किसी एक के ज़रिए तय किया जाना चाहिए, दोनों के ज़रिए नहीं. अगर periodInMinutes सेट है, तो शुरुआती इवेंट के बाद अलार्म हर periodInMinutes मिनट में बजेगा. अगर बार-बार बजने वाले अलार्म के लिए, when या delayInMinutes में से कोई भी सेट नहीं है, तो delayInMinutes के लिए डिफ़ॉल्ट रूप से periodInMinutes का इस्तेमाल किया जाता है.

  • कॉलबैक

    function ज़रूरी नहीं

    Chrome 111+

    callback पैरामीटर कुछ ऐसा दिखता है:

    () => void

रिटर्न

  • वादा<शून्य>

    Chrome 111+

    अलार्म सेट होने पर रिज़ॉल्व होने वाला प्रॉमिस.

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

get()

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

इससे, तय किए गए अलार्म के बारे में जानकारी मिलती है.

पैरामीटर

  • नाम

    string ज़रूरी नहीं

    उस अलार्म का नाम जिसकी जानकारी चाहिए. डिफ़ॉल्ट तौर पर, यह खाली स्ट्रिंग होती है.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (alarm?: Alarm) => void

रिटर्न

  • Promise<Alarm | undefined>

    Chrome 91+

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

getAll()

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

सभी अलार्म का कलेक्शन दिखाता है.

पैरामीटर

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (alarms: Alarm[]) => void

रिटर्न

  • Promise<Alarm[]>

    Chrome 91+

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

इवेंट

onAlarm

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

अलार्म का समय खत्म होने पर ट्रिगर होता है. इवेंट पेजों के लिए मददगार.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर कुछ ऐसा दिखता है:

    (alarm: Alarm) => void