कंपनी का ब्यौरा
कोड को समय-समय पर या आने वाले किसी खास समय पर शेड्यूल करने के लिए, chrome.alarms
API का इस्तेमाल करें.
अनुमतियां
alarms
मेनिफ़ेस्ट
chrome.alarms
एपीआई का इस्तेमाल करने के लिए, मेनिफ़ेस्ट में "alarms"
की अनुमति का एलान करें:
{
"name": "My extension",
...
"permissions": [
"alarms"
],
...
}
उदाहरण
यहां दिए गए उदाहरणों में अलार्म को इस्तेमाल करने और उस पर जवाब देने का तरीका बताया गया है. इस एपीआई को इस्तेमाल करने के लिए, chrome-extension-सैंपल डेटा स्टोर करने की जगह से अलार्म एपीआई का उदाहरण इंस्टॉल करें.
अलार्म सेट करो
नीचे दिया गया उदाहरण, एक्सटेंशन के इंस्टॉल होने पर सर्विस वर्कर में अलार्म सेट करता है:
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
नंबर ज़रूरी नहीं
अगर शून्य नहीं है, तो यह अलार्म बार-बार होने वाला अलार्म है. यह
periodInMinutes
मिनट में फिर से चालू हो जाएगा. -
scheduledTime
नंबर
वह समय जब इस अलार्म को epoch के बाद (जैसे कि
Date.now() + n
) के बाद सक्रिय होने के लिए शेड्यूल किया गया था. प्रदर्शन कारणों से, अलार्म को इससे आगे के किसी भी अनिश्चित समय पर ट्रिगर किया जा सकता है.
AlarmCreateInfo
प्रॉपर्टी
-
delayInMinutes
नंबर ज़रूरी नहीं
समय की अवधि (मिनट में). इसके बाद,
onAlarm
इवेंट ट्रिगर होगा. -
periodInMinutes
नंबर ज़रूरी नहीं
अगर इस नीति को सेट किया जाता है, तो
when
याdelayInMinutes
के बताए गए शुरुआती इवेंट के हरperiodInMinutes
मिनट बाद, onअलार्म इवेंट चालू होना चाहिए. अगर इस नीति को सेट नहीं किया जाता है, तो अलार्म सिर्फ़ एक बार चालू होगा. -
कब
नंबर ज़रूरी नहीं
वह समय जब अलार्म सक्रिय होना चाहिए, epoch के बाद मिलीसेकंड में (उदाहरण के लिए,
Date.now() + n
).
तरीके
clear()
chrome.alarms.clear(
name?: string,
callback?: function,
)
दिए गए नाम से अलार्म हटाता है.
पैरामीटर
-
नाम
स्ट्रिंग ज़रूरी नहीं
हटाने के लिए अलार्म का नाम. डिफ़ॉल्ट तौर पर, यह खाली स्ट्रिंग होती है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(wasCleared: boolean) => void
-
wasCleared
boolean
-
लौटाए गए प्रॉडक्ट
-
Promise<boolean>
Chrome 91 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
clearAll()
chrome.alarms.clearAll(
callback?: function,
)
सभी अलार्म हटाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(wasCleared: boolean) => void
-
wasCleared
boolean
-
लौटाए गए प्रॉडक्ट
-
Promise<boolean>
Chrome 91 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
create()
chrome.alarms.create(
name?: string,
alarmInfo: AlarmCreateInfo,
callback?: function,
)
अलार्म सेट करता है. alarmInfo
के बताए गए समय के पास, onAlarm
इवेंट सक्रिय होता है. अगर इसी नाम का कोई दूसरा अलार्म मौजूद है (या अगर कोई नाम नहीं बताया गया है, तो कोई नाम नहीं दिया गया है), तो उसे रद्द कर दिया जाएगा और उसकी जगह यह अलार्म लगा दिया जाएगा.
उपयोगकर्ता की मशीन पर लोड कम करने के लिए, Chrome हर 30 सेकंड में ज़्यादा से ज़्यादा एक बार अलार्म सेट करता है. हालांकि, इससे अलार्म के लिए तय सीमा से ज़्यादा समय लग सकता है. इसका मतलब है कि delayInMinutes
या periodInMinutes
को 0.5
से कम पर सेट करने पर ध्यान नहीं दिया जाएगा और आपको चेतावनी दी जाएगी. when
को "अभी" के बाद, बिना किसी चेतावनी के 30 सेकंड से कम समय पर सेट किया जा सकता है. हालांकि, इससे अलार्म कम से कम 30 सेकंड तक चालू नहीं होगा.
अपने ऐप्लिकेशन या एक्सटेंशन को डीबग करने में मदद के लिए, जब आपने उसे अनपैक किया हुआ लोड किया हो, तो अलार्म कितनी बार ट्रिगर हो सकता है, इसकी कोई सीमा नहीं है.
पैरामीटर
-
नाम
स्ट्रिंग ज़रूरी नहीं
इस अलार्म की पहचान करने के लिए, यह नाम ज़रूरी नहीं है. डिफ़ॉल्ट तौर पर, यह खाली स्ट्रिंग होती है.
-
alarmInfo
यह बताता है कि अलार्म कब चालू होना चाहिए. शुरुआती समय
when
याdelayInMinutes
में बताया जाना चाहिए (लेकिन दोनों नहीं). अगरperiodInMinutes
सेट है, तो अलार्म शुरुआती इवेंट के हरperiodInMinutes
मिनट बाद दोहराया जाएगा. अगर बार-बार होने वाले अलार्म के लिए,when
याdelayInMinutes
में से कोई भी सेट नहीं है, तोdelayInMinutes
के लिए डिफ़ॉल्ट तौर परperiodInMinutes
को इस्तेमाल किया जाएगा. -
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
Chrome 111 और उसके बाद के वर्शनcallback
पैरामीटर ऐसा दिखता है:() => void
लौटाए गए प्रॉडक्ट
-
Promise<void>
Chrome 111 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
get()
chrome.alarms.get(
name?: string,
callback?: function,
)
बताए गए अलार्म के बारे में जानकारी देता है.
पैरामीटर
लौटाए गए प्रॉडक्ट
-
Promise<Alarm | undefined>
Chrome 91 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
getAll()
chrome.alarms.getAll(
callback?: function,
)
सभी अलार्म का कलेक्शन दिखाता है.
पैरामीटर
लौटाए गए प्रॉडक्ट
-
वादा<अलार्म[]>
Chrome 91 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.