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 optional

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

  • persistAcrossSessions

    बूलियन

    Chrome 150+

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

  • scheduledTime

    संख्या

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

AlarmCreateInfo

प्रॉपर्टी

  • delayInMinutes

    number optional

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

  • नाम

    string ज़रूरी नहीं है

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

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

  • periodInMinutes

    number optional

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

  • persistAcrossSessions

    boolean ज़रूरी नहीं है

    Chrome 150+

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

  • कब

    number optional

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

तरीके

clear()

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

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

पैरामीटर

  • नाम

    string ज़रूरी नहीं है

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

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

    (wasCleared: boolean) => void

    • wasCleared

      बूलियन

रिटर्न

  • Promise<boolean>

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

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

clearAll()

Promise
chrome.alarms.clearAll(
  callback?: function,
)
: Promise<boolean>

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

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

    (wasCleared: boolean) => void

    • wasCleared

      बूलियन

रिटर्न

  • Promise<boolean>

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

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

create()

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

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

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

अगर आपने अपने ऐप्लिकेशन या एक्सटेंशन को अनपैक करके लोड किया है, तो उसे डीबग करने में आपकी मदद करने के लिए, अलार्म के ट्रिगर होने की कोई सीमा नहीं होती.

पैरामीटर

  • नाम

    string ज़रूरी नहीं है

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

  • alarmInfo

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

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

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

    () => void

रिटर्न

  • Promise<void>

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

    यह प्रॉमिस तब पूरा होता है, जब अलार्म सेट हो जाता है.

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

get()

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

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

पैरामीटर

  • नाम

    string ज़रूरी नहीं है

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

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

    (alarm?: Alarm) => void

रिटर्न

  • Promise<Alarm | undefined>

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

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

getAll()

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

इससे सभी अलार्म की एक ऐरे मिलती है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

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

    (alarms: Alarm[]) => void

    • अलार्म

रिटर्न

  • Promise<Alarm[]>

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

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

इवेंट

onAlarm

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (alarm: Alarm) => void