कंपनी का ब्यौरा
सर्विस वर्कर को फिर से पाने, मेनिफ़ेस्ट के बारे में जानकारी देने, और एक्सटेंशन लाइफ़साइकल में इवेंट सुनने और उनके जवाब देने के लिए, chrome.runtime
API का इस्तेमाल करें. यूआरएल के मिलते-जुलते पाथ को पूरी तरह क्वालिफ़ाइड यूआरएल में बदलने के लिए भी इस एपीआई का इस्तेमाल किया जा सकता है.
खास जानकारी
रनटाइम एपीआई से कई तरीकों से काम करने में मदद मिलती है. ये फ़ंक्शन आपके एक्सटेंशन के लिए इस्तेमाल किए जा सकते हैं:
- मैसेज पास करना
- आपका एक्सटेंशन इन तरीकों और इवेंट का इस्तेमाल करके, आपके एक्सटेंशन में अलग-अलग कॉन्टेक्स्ट के साथ-साथ दूसरे एक्सटेंशन के साथ भी संपर्क कर सकता है: connect(), onConnect, onConnectExternal, sendMessage(), onMessage और onMessageExternal. इसके अलावा, आपका एक्सटेंशन connectNative() और sendNativeMessage() का इस्तेमाल करके, उपयोगकर्ता के डिवाइस पर मौजूद नेटिव ऐप्लिकेशन को मैसेज भेज सकता है.
- एक्सटेंशन और प्लैटफ़ॉर्म मेटाडेटा ऐक्सेस करना
- इन तरीकों की मदद से, एक्सटेंशन और प्लैटफ़ॉर्म के बारे में कई खास मेटाडेटा को वापस पाया जा सकता है. इस कैटगरी में मौजूद तरीकों में getManifest() और getPlatformInfo() शामिल हैं.
- एक्सटेंशन के लाइफ़साइकल और विकल्पों को मैनेज करना
- ये प्रॉपर्टी आपको एक्सटेंशन पर कुछ मेटा-ऑपरेशन करने और विकल्प पेज दिखाने में मदद करती हैं. इस कैटगरी में मौजूद तरीकों और इवेंट में, onInstalled, onStartup, openOptionsPage(), reload(), requestUpdateCheck(), और setUninstallURL() को शामिल किया गया है.
- हेल्पर यूटिलिटी
- ये तरीके काफ़ी काम के होते हैं. जैसे, अंदरूनी संसाधन को बाहरी फ़ॉर्मैट में बदलना. इस कैटगरी में मौजूद तरीकों में getURL() शामिल है.
- कीऑस्क मोड की सुविधाएं
- ये तरीके सिर्फ़ ChromeOS पर उपलब्ध हैं. इन्हें मुख्य तौर पर, कीऑस्क लागू करने के लिए इस्तेमाल किया जाता है. इस कैटगरी में तरीकों में restart और restartAfterDelay शामिल हैं.
अनुमतियां
रनटाइम एपीआई के ज़्यादातर तरीकों के लिए, किसी भी अनुमति की ज़रूरत नहीं होती. हालांकि, sendNativeMessage और connectNative तरीके के लिए, nativeMessaging
अनुमति की ज़रूरत होती है.
मेनिफ़ेस्ट
यहां दिए गए उदाहरण में, मेनिफ़ेस्ट में nativeMessaging
की अनुमति का एलान करने का तरीका बताया गया है:
manifest.json:
{
"name": "My extension",
...
"permissions": [
"nativeMessaging"
],
...
}
इस्तेमाल के उदाहरण
वेब पेज में इमेज जोड़ना
किसी वेब पेज पर होस्ट की गई ऐसेट को ऐक्सेस करने के लिए, उसे संसाधन का पूरा यूआरएल देना होगा, जैसे कि <img src="https://example.com/logo.png">
. वेब पेज पर एक्सटेंशन ऐसेट शामिल करना भी ऐसा ही होता है. दो अंतर यह है कि एक्सटेंशन की ऐसेट को वेब पर ऐक्सेस करने लायक रिसॉर्स के तौर पर दिखाया जाना चाहिए. आम तौर पर, एक्सटेंशन ऐसेट इंजेक्ट करने के लिए कॉन्टेंट स्क्रिप्ट ज़िम्मेदार होती हैं.
इस उदाहरण में, एक्सटेंशन logo.png
को उस पेज में जोड़ देगा जिसमें कॉन्टेंट की स्क्रिप्ट को इंजेक्ट किया जा रहा है. ऐसा करने के लिए, runtime.getURL()
का इस्तेमाल करके, पूरी तरह क्वालिफ़ाइड यूआरएल बनाया जा सकता है. हालांकि, सबसे पहले एसेट को मेनिफ़ेस्ट में, वेब ऐक्सेस करने लायक संसाधन के तौर पर तय करना होगा.
manifest.json:
{
...
"web_accessible_resources": [
{
"resources": [ "logo.png" ],
"matches": [ "https://*/*" ]
}
],
...
}
content.js:
{ // Block used to avoid setting global variables
const img = document.createElement('img');
img.src = chrome.runtime.getURL('logo.png');
document.body.append(img);
}
सर्विस वर्कर से कॉन्टेंट स्क्रिप्ट पर डेटा भेजें
किसी एक्सटेंशन की कॉन्टेंट स्क्रिप्ट को सर्विस वर्कर जैसे एक्सटेंशन के किसी दूसरे हिस्से से मैनेज किए जाने वाले डेटा की ज़रूरत होती है. बहुत हद तक एक ही वेब पेज पर खुली दो ब्राउज़र विंडो की तरह, ये दो कॉन्टेक्स्ट सीधे तौर पर एक-दूसरे की वैल्यू को ऐक्सेस नहीं कर सकते हैं. इसके बजाय, एक्सटेंशन इन अलग-अलग कॉन्टेक्स्ट पर सिंक करने के लिए मैसेज पास करने की सुविधा का इस्तेमाल कर सकता है.
इस उदाहरण में, कॉन्टेंट स्क्रिप्ट को यूज़र इंटरफ़ेस (यूआई) शुरू करने के लिए, एक्सटेंशन के सर्विस वर्कर से कुछ डेटा की ज़रूरत होती है. यह डेटा पाने के लिए, यह सर्विस वर्कर को get-user-data
मैसेज भेजता है और
उपयोगकर्ता की जानकारी की एक कॉपी के साथ जवाब देता है.
content.js:
// 1. Send a message to the service worker requesting the user's data
chrome.runtime.sendMessage('get-user-data', (response) => {
// 3. Got an asynchronous response with the data from the service worker
console.log('received user data', response);
initializeUI(response);
});
background.js:
// Example of a simple user data object
const user = {
username: 'demo-user'
};
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
// 2. A page requested user data, respond with a copy of `user`
if (message === 'get-user-data') {
sendResponse(user);
}
});
अनइंस्टॉल करने के बारे में लोगों की राय जानें
कई एक्सटेंशन, अनइंस्टॉल करने के बाद किए जाने वाले सर्वे का इस्तेमाल करते हैं. इससे यह समझने में मदद मिलती है कि एक्सटेंशन, उपयोगकर्ताओं को बेहतर सेवा कैसे दे सकता है और बने रहने की सुविधा को कैसे बेहतर बना सकता है. नीचे दिए गए उदाहरण में, इस सुविधा को जोड़ने का तरीका बताया गया है.
background.js:
chrome.runtime.onInstalled.addListener(details => {
if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
chrome.runtime.setUninstallURL('https://example.com/extension-survey');
}
});
एक्सटेंशन के उदाहरण
रनटाइम एपीआई के ज़्यादा उदाहरणों के लिए, मेनिफ़ेस्ट V3 - वेब ऐक्सेसबल रिसॉर्स का डेमो देखें.
टाइप
ContextFilter
कुछ एक्सटेंशन कॉन्टेक्स्ट से मेल खाने वाला फ़िल्टर. मिलते-जुलते कॉन्टेक्स्ट, तय किए गए सभी फ़िल्टर से मेल खाने चाहिए. ऐसा कोई भी फ़िल्टर जो उपलब्ध नहीं है, वह सभी उपलब्ध कॉन्टेक्स्ट से मेल खाता है. इसलिए, `{}` का फ़िल्टर सभी उपलब्ध कॉन्टेक्स्ट से मेल खाएगा.
प्रॉपर्टी
-
contextIds
स्ट्रिंग[] ज़रूरी नहीं है
-
contextTypes
ContextType[] ज़रूरी नहीं है
-
documentIds
स्ट्रिंग[] ज़रूरी नहीं है
-
documentOrigins
स्ट्रिंग[] ज़रूरी नहीं है
-
documentUrls
स्ट्रिंग[] ज़रूरी नहीं है
-
frameIds
नंबर[] ज़रूरी नहीं
-
गुप्त मोड
बूलियन ज़रूरी नहीं
-
tabIds
नंबर[] ज़रूरी नहीं
-
windowIds
नंबर[] ज़रूरी नहीं
ContextType
Enum
"Tab"
संदर्भ टाइप को टैब के तौर पर बताता है
"POPUP"
एक्सटेंशन टाइप को पॉप-अप विंडो के तौर पर बताता है
"BACKGROUND"
यह बताता है कि कॉन्टेक्स्ट टाइप को सर्विस वर्कर के तौर पर दिखाया गया है.
"OFFSCREEN_DOCUMENT"
संदर्भ टाइप को ऑफ़स्क्रीन दस्तावेज़ के तौर पर दिखाता है.
"SIDE_DIMENSION"
संदर्भ टाइप को साइड पैनल के तौर पर दिखाता है.
ExtensionContext
कॉन्टेक्स्ट होस्ट करने वाला एक्सटेंशन कॉन्टेंट.
प्रॉपर्टी
-
contextId
स्ट्रिंग
इस कॉन्टेक्स्ट के लिए यूनीक आइडेंटिफ़ायर
-
contextType
इससे पता चलता है कि यह किस तरह का संदर्भ है.
-
documentId
स्ट्रिंग ज़रूरी नहीं
इस कॉन्टेक्स्ट से जुड़े दस्तावेज़ के लिए यूयूआईडी. अगर यह कॉन्टेक्स्ट होस्ट नहीं किया गया है, तो यह तय नहीं होगा कि दस्तावेज़ में है या नहीं.
-
documentOrigin
स्ट्रिंग ज़रूरी नहीं
इस संदर्भ से जुड़े दस्तावेज़ का ऑरिजिन या अगर संदर्भ किसी दस्तावेज़ में होस्ट नहीं किया गया है, तो इसकी जानकारी नहीं दी गई है.
-
documentUrl
स्ट्रिंग ज़रूरी नहीं
इस कॉन्टेक्स्ट से जुड़े दस्तावेज़ का यूआरएल. अगर कॉन्टेक्स्ट दस्तावेज़ में होस्ट नहीं किया गया है, तो इसकी जानकारी नहीं दी गई है.
-
frameId
नंबर
इस कॉन्टेक्स्ट के लिए फ़्रेम का आईडी या अगर यह कॉन्टेक्स्ट किसी फ़्रेम में होस्ट नहीं किया गया है, तो -1.
-
गुप्त मोड
boolean
क्या संदर्भ किसी गुप्त प्रोफ़ाइल से जुड़ा है.
-
tabId
नंबर
इस संदर्भ के लिए टैब का आईडी या अगर यह संदर्भ किसी टैब में होस्ट नहीं किया गया है, तो -1.
-
windowId
नंबर
इस कॉन्टेक्स्ट के लिए विंडो का आईडी या अगर इस कॉन्टेक्स्ट को विंडो में होस्ट नहीं किया गया है, तो -1.
MessageSender
एक ऑब्जेक्ट, जिसमें मैसेज या अनुरोध भेजने वाली स्क्रिप्ट के बारे में जानकारी होती है.
प्रॉपर्टी
-
documentId
स्ट्रिंग ज़रूरी नहीं
Chrome 106 और इसके बाद के वर्शनकनेक्शन खोलने वाले दस्तावेज़ का यूयूआईडी.
-
documentLifecycle
स्ट्रिंग ज़रूरी नहीं
Chrome 106 और इसके बाद के वर्शनकनेक्शन खोलने वाले दस्तावेज़ की लाइफ़साइकल, पोर्ट बनाने के समय होती है. ध्यान दें, हो सकता है कि पोर्ट बनाने के बाद से दस्तावेज़ की लाइफ़साइकल स्थिति बदल गई हो.
-
frameId
नंबर ज़रूरी नहीं
कनेक्शन खोलने के लिए इस्तेमाल किया जाने वाला फ़्रेम. टॉप लेवल फ़्रेम के लिए 0, वहीं चाइल्ड फ़्रेम के लिए पॉज़िटिव. इसे
tab
के सेट होने पर ही सेट किया जाएगा. -
आईडी
स्ट्रिंग ज़रूरी नहीं
कनेक्शन खोलने वाले एक्सटेंशन का आईडी, अगर कोई है.
-
nativeApplication
स्ट्रिंग ज़रूरी नहीं
Chrome 74 और इसके बाद के वर्शनअगर कोई है, तो कनेक्शन खोलने वाले स्थानीय ऐप्लिकेशन का नाम.
-
origin
स्ट्रिंग ज़रूरी नहीं
Chrome 80 और इसके बाद के वर्शनकनेक्शन खोलने वाले पेज या फ़्रेम का ऑरिजिन. यह यूआरएल प्रॉपर्टी से अलग हो सकता है (जैसे कि about:blank) या यह ओपेक हो सकता है (उदाहरण के लिए, सैंडबॉक्स किए गए iframe). इससे यह पता करने में मदद मिलती है कि अगर हम तुरंत यूआरएल से पता नहीं लगा पाते कि ऑरिजिन पर भरोसा किया जा सकता है या नहीं.
-
टैब से
Tab ज़रूरी नहीं
tabs.Tab
जिसने कनेक्शन खोला है, अगर कोई है. यह प्रॉपर्टी सिर्फ़ तब दिखेगी, जब किसी टैब (इसमें कॉन्टेंट स्क्रिप्ट भी शामिल है) से कनेक्शन खोला गया हो. यह प्रॉपर्टी सिर्फ़ तब दिखेगी, जब फ़ाइलें पाने वाला कोई एक्सटेंशन हो, न कि कोई ऐप्लिकेशन. -
tlsChannelId
स्ट्रिंग ज़रूरी नहीं
कनेक्शन खोलने वाले पेज या फ़्रेम का TLS चैनल आईडी, अगर एक्सटेंशन ने अनुरोध किया हो और उपलब्ध हो.
-
यूआरएल
स्ट्रिंग ज़रूरी नहीं
कनेक्शन खोलने वाले पेज या फ़्रेम का यूआरएल. अगर भेजने वाला व्यक्ति किसी iframe में है, तो यह iframe का यूआरएल होगा, न कि उसे होस्ट करने वाले पेज का यूआरएल.
OnInstalledReason
इस इवेंट को भेजने की वजह.
Enum
"install"
इवेंट की वजह को इंस्टॉलेशन के तौर पर बताता है.
"update"
एक्सटेंशन के अपडेट के तौर पर, इवेंट की वजह के बारे में बताता है.
"chrome_update"
Chrome अपडेट के तौर पर इवेंट की वजह बताता है.
"shared_module_update"
शेयर किए गए मॉड्यूल में अपडेट के तौर पर इवेंट की वजह बताता है.
OnRestartRequiredReason
इवेंट भेजने की वजह. जब रीस्टार्ट करने की ज़रूरत होती है, तो 'app_update' का इस्तेमाल किया जाता है, क्योंकि ऐप्लिकेशन को नए वर्शन में अपडेट कर दिया जाता है. रीस्टार्ट की ज़रूरत पड़ने पर 'os_update' का इस्तेमाल किया जाता है, क्योंकि ब्राउज़र/ओएस को नए वर्शन में अपडेट कर दिया गया है. 'periodic' का इस्तेमाल तब किया जाता है, जब सिस्टम, एंटरप्राइज़ नीति में सेट किए गए अपटाइम के लिए तय की गई सीमा से ज़्यादा समय तक चलता है.
Enum
"app_update"
यह, ऐप्लिकेशन के अपडेट के तौर पर इवेंट की वजह बताता है.
"os_update"
ऑपरेटिंग सिस्टम के अपडेट के तौर पर, इवेंट की वजह की जानकारी देता है.
"समय-समय पर"
यह ऐप्लिकेशन के बार-बार रीस्टार्ट होने की वजह से, इवेंट की वजह के बारे में बताता है.
PlatformArch
मशीन का प्रोसेसर आर्किटेक्चर.
Enum
"आर्म"
प्रोसेसर आर्किटेक्चर को ग्रुप के रूप में तय करता है.
"arm64"
प्रोसेसर आर्किटेक्चर को Arm64 के रूप में बताता है.
"x86-32"
प्रोसेसर आर्किटेक्चर को x86-32 के रूप में बताता है.
"x86-64"
प्रोसेसर आर्किटेक्चर को x86-64 के रूप में तय करता है.
"mips"
प्रोसेसर आर्किटेक्चर को मिप के रूप में तय करता है.
"mips64"
प्रोसेसर आर्किटेक्चर को mips64 के रूप में तय करता है.
PlatformInfo
एक ऑब्जेक्ट, जिसमें मौजूदा प्लैटफ़ॉर्म के बारे में जानकारी होती है.
प्रॉपर्टी
-
आर्क
मशीन का प्रोसेसर आर्किटेक्चर.
-
nacl_arch
नेटिव क्लाइंट आर्किटेक्चर. यह कुछ प्लैटफ़ॉर्म पर दिखने वाले तीर के निशान से अलग हो सकता है.
-
os
Chrome ऑपरेटिंग सिस्टम पर चल रहा है.
PlatformNaclArch
नेटिव क्लाइंट आर्किटेक्चर. यह कुछ प्लैटफ़ॉर्म पर दिखने वाले तीर के निशान से अलग हो सकता है.
Enum
"आर्म"
हथियार के रूप में नेटिव क्लाइंट आर्किटेक्चर की जानकारी देता है.
"x86-32"
यह नेटिव क्लाइंट आर्किटेक्चर के बारे में बताता है, जैसे कि x86-32.
"x86-64"
नेटिव क्लाइंट आर्किटेक्चर को x86-64 के तौर पर बताता है.
"mips"
यह नेटिव क्लाइंट आर्किटेक्चर को माइप के रूप में बताता है.
"mips64"
यह नेटिव क्लाइंट आर्किटेक्चर को mips64 के रूप में बताता है.
PlatformOs
Chrome ऑपरेटिंग सिस्टम पर चल रहा है.
Enum
"mac"
MacOS ऑपरेटिंग सिस्टम के बारे में बताता है.
"win"
Windows ऑपरेटिंग सिस्टम के बारे में बताता है.
"android"
Android ऑपरेटिंग सिस्टम की जानकारी देता है.
"cros"
Chrome ऑपरेटिंग सिस्टम के बारे में बताता है.
"linux"
Linux ऑपरेटिंग सिस्टम के बारे में बताता है.
"openbsd"
OpenBSD ऑपरेटिंग सिस्टम की जानकारी देता है.
"फ़्यूशा"
फ़्यूशा ऑपरेटिंग सिस्टम के बारे में बताता है.
Port
एक ऐसा ऑब्जेक्ट जो दूसरे पेजों से दो तरह से कम्यूनिकेट करने की सुविधा देता है. ज़्यादा जानकारी के लिए, लंबे समय से चल रहे कनेक्शन देखें.
प्रॉपर्टी
-
नाम
स्ट्रिंग
पोर्ट का नाम, जैसा कि
runtime.connect
को किए गए कॉल में बताया गया है. -
onDisconnect
इवेंट<Functionvoidvoid>
उस समय सक्रिय होता है, जब पोर्ट को दूसरे सिरे से डिसकनेक्ट किया जाता है. अगर किसी गड़बड़ी की वजह से पोर्ट डिसकनेक्ट हो जाता है, तो
runtime.lastError
को सेट किया जा सकता है. अगर पोर्ट डिसकनेक्ट की मदद से बंद हो जाता है, तो इस इवेंट को सिर्फ़ दूसरे तरफ़ से ट्रिगर किया जाएगा. यह इवेंट ज़्यादा से ज़्यादा एक बार चालू होता है (पोर्ट लाइफ़टाइम भी देखें).onDisconnect.addListener
फ़ंक्शन ऐसा दिखता है:(callback: function) => {...}
-
onMessage
इवेंट<Functionvoidvoid>
यह इवेंट तब ट्रिगर होता है, जब पोर्ट के दूसरे सिरे से postMessage को कॉल करना होता है.
onMessage.addListener
फ़ंक्शन ऐसा दिखता है:(callback: function) => {...}
-
भेजने वाला
MessageSender ज़रूरी नहीं
यह प्रॉपर्टी सिर्फ़ उन पोर्ट में मौजूद होगी जो onConnect / onConnectExternal / onConnectNative लिसनर को पास किए गए हैं.
-
डिसकनेक्ट करें
void
पोर्ट को तुरंत डिसकनेक्ट करें. पहले से डिसकनेक्ट किए गए पोर्ट पर
disconnect()
को कॉल करने से कोई असर नहीं पड़ेगा. किसी पोर्ट के डिसकनेक्ट होने पर, इस पोर्ट पर कोई नया इवेंट नहीं भेजा जाएगा.disconnect
फ़ंक्शन ऐसा दिखता है:() => {...}
-
postMessage
void
पोर्ट के दूसरे सिरे पर मैसेज भेजें. पोर्ट डिसकनेक्ट होने पर, गड़बड़ी का मैसेज दिखता है.
postMessage
फ़ंक्शन ऐसा दिखता है:(message: any) => {...}
-
ग्राहक का मैसेज
कोई भी
Chrome 52 और इसके बाद के वर्शनभेजने के लिए मैसेज. इस ऑब्जेक्ट में JSON की जांच होनी चाहिए.
-
RequestUpdateCheckStatus
अपडेट की जांच का नतीजा.
Enum
"थ्रॉटल किया गया"
यह बताता है कि स्थिति की जांच को थ्रॉटल कर दिया गया है. ऐसा, कुछ समय के अंदर बार-बार जांच करने के बाद हो सकता है.
"no_update"
यह बताता है कि इंस्टॉल करने के लिए कोई अपडेट उपलब्ध नहीं है.
"update_available"
बताता है कि इंस्टॉल करने के लिए एक अपडेट उपलब्ध है.
प्रॉपर्टी
id
एक्सटेंशन/ऐप्लिकेशन का आईडी.
टाइप
स्ट्रिंग
lastError
अगर एपीआई फ़ंक्शन को कॉल नहीं किया जा सकता, तो इसे गड़बड़ी के मैसेज से भरा जाता है, नहीं तो इसकी जानकारी नहीं दी जाती. यह सिर्फ़ उसी फ़ंक्शन के कॉलबैक के दायरे में तय किया जाता है. अगर कोई गड़बड़ी जनरेट होती है, लेकिन कॉलबैक में runtime.lastError
को ऐक्सेस नहीं किया जाता है, तो कंसोल में एक मैसेज लॉग किया जाता है. इस मैसेज में गड़बड़ी पैदा करने वाले एपीआई फ़ंक्शन की सूची होती है. प्रॉमिस देने वाले एपीआई फ़ंक्शन इस प्रॉपर्टी को सेट नहीं करते हैं.
टाइप
ऑब्जेक्ट
प्रॉपर्टी
-
ग्राहक का मैसेज
स्ट्रिंग ज़रूरी नहीं
हुई गड़बड़ी के बारे में जानकारी.
तरीके
connect()
chrome.runtime.connect(
extensionId?: string,
connectInfo?: object,
)
किसी एक्सटेंशन (जैसे कि बैकग्राउंड पेज) या अन्य एक्सटेंशन/ऐप्लिकेशन में लिसनर से कनेक्ट करने की कोशिश. यह ऐसी कॉन्टेंट स्क्रिप्ट के लिए फ़ायदेमंद है जो अपनी एक्सटेंशन प्रोसेस, इंटर-ऐप्लिकेशन/एक्सटेंशन कम्यूनिकेशन, और वेब मैसेज सेवा से कनेक्ट करती हैं. ध्यान दें कि यह कॉन्टेंट की स्क्रिप्ट में, किसी भी लिसनर से कनेक्ट नहीं करता है. एक्सटेंशन, tabs.connect
के ज़रिए टैब में एम्बेड की गई कॉन्टेंट स्क्रिप्ट से कनेक्ट हो सकते हैं.
पैरामीटर
-
extensionId
स्ट्रिंग ज़रूरी नहीं
उस एक्सटेंशन का आईडी जिससे कनेक्ट करना है. अगर इसे हटाया जाता है, तो आपके अपने एक्सटेंशन की मदद से, कनेक्शन को जोड़ने की कोशिश की जाएगी. अगर वेब मैसेज सेवा के लिए, किसी वेब पेज से मैसेज भेजा जा रहा है, तो इस फ़ील्ड का इस्तेमाल करना ज़रूरी है.
-
connectInfo
ऑब्जेक्ट ज़रूरी नहीं
-
includeTlsChannelId
बूलियन ज़रूरी नहीं
कनेक्शन इवेंट को सुन रही प्रोसेस के लिए, TLS चैनल आईडी को onConnectExternal में पास किया जाएगा या नहीं.
-
नाम
स्ट्रिंग ज़रूरी नहीं
कनेक्शन इवेंट को सुन रही प्रोसेस के लिए, इसे onConnect में पास किया जाएगा.
-
लौटाए गए प्रॉडक्ट
-
वह पोर्ट करें जिससे मैसेज भेजे और पाए जा सकते हैं. एक्सटेंशन मौजूद न होने पर, पोर्ट का onDisconnect इवेंट चालू हो जाता है.
connectNative()
chrome.runtime.connectNative(
application: string,
)
होस्ट मशीन के किसी नेटिव ऐप्लिकेशन से कनेक्ट करता है. इस तरीके के लिए, "nativeMessaging"
की अनुमति ज़रूरी है. ज़्यादा जानकारी के लिए, नेटिव मैसेज की सुविधा देखें.
पैरामीटर
-
ऐप्लिकेशन
स्ट्रिंग
कनेक्ट किए जाने वाले रजिस्टर किए गए ऐप्लिकेशन का नाम.
लौटाए गए प्रॉडक्ट
-
वह पोर्ट करें जिससे ऐप्लिकेशन की मदद से मैसेज भेजे और पाए जा सकते हैं
getBackgroundPage()
chrome.runtime.getBackgroundPage(
callback?: function,
)
मौजूदा एक्सटेंशन/ऐप्लिकेशन में चल रहे बैकग्राउंड पेज के लिए, JavaScript 'window' ऑब्जेक्ट वापस लाता है. अगर बैकग्राउंड पेज कोई इवेंट पेज है, तो कॉलबैक को कॉल करने से पहले सिस्टम यह पक्का करेगा कि यह लोड हो. अगर कोई बैकग्राउंड पेज नहीं है, तो कोई गड़बड़ी सेट है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(backgroundPage?: Window) => void
-
backgroundPage
विंडो ज़रूरी नहीं
बैकग्राउंड पेज के लिए JavaScript 'window' ऑब्जेक्ट.
-
लौटाए गए प्रॉडक्ट
-
Promise<Window | undefined>
Chrome 99 के बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
getContexts()
chrome.runtime.getContexts(
filter: ContextFilter,
callback?: function,
)
इस एक्सटेंशन से जुड़े ऐक्टिव कॉन्टेक्स्ट के बारे में जानकारी फ़ेच करता है
पैरामीटर
-
फ़िल्टर
मिलते-जुलते कॉन्टेक्स्ट ढूंढने के लिए फ़िल्टर. अगर कॉन्टेक्स्ट, फ़िल्टर में दिए गए सभी फ़ील्ड से मैच करता है, तो ही कॉन्टेक्स्ट मैच करता है. फ़िल्टर में ऐसा कोई भी फ़ील्ड मौजूद है जिसके बारे में जानकारी नहीं दी गई है, वह सभी कॉन्टेक्स्ट से मेल खाती है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(contexts: ExtensionContext[]) => void
-
संदर्भ
मिलते-जुलते कॉन्टेक्स्ट, अगर कोई हों.
-
लौटाए गए प्रॉडक्ट
-
Promise<ExtensionContext[]>
प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
getManifest()
chrome.runtime.getManifest()
मेनिफ़ेस्ट से ऐप्लिकेशन या एक्सटेंशन के बारे में जानकारी दिखाता है. लौटाया गया ऑब्जेक्ट, पूरी मेनिफ़ेस्ट फ़ाइल का सीरियलाइज़ेशन है.
लौटाए गए प्रॉडक्ट
-
ऑब्जेक्ट
मेनिफ़ेस्ट के बारे में जानकारी.
getPackageDirectoryEntry()
chrome.runtime.getPackageDirectoryEntry(
callback?: function,
)
पैकेज डायरेक्ट्री के लिए DirectoryEntry दिखाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(directoryEntry: DirectoryEntry) => void
-
directoryEntry
DirectoryEntry
-
लौटाए गए प्रॉडक्ट
-
Promise<DirectoryEntry>
Chrome 122 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
getPlatformInfo()
chrome.runtime.getPlatformInfo(
callback?: function,
)
मौजूदा प्लैटफ़ॉर्म के बारे में जानकारी दिखाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(platformInfo: PlatformInfo) => void
-
platformInfo
-
लौटाए गए प्रॉडक्ट
-
Promise<PlatformInfo>
Chrome 99 के बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
getURL()
chrome.runtime.getURL(
path: string,
)
ऐप्लिकेशन/एक्सटेंशन इंस्टॉल डायरेक्ट्री में मौजूद मिलते-जुलते पाथ को पूरी तरह क्वालिफ़ाइड यूआरएल में बदलता है.
पैरामीटर
-
पाथ
स्ट्रिंग
ऐप्लिकेशन/एक्सटेंशन में मौजूद किसी संसाधन का पाथ, जो उसकी इंस्टॉल डायरेक्ट्री के संबंध में बताया जाता है.
लौटाए गए प्रॉडक्ट
-
स्ट्रिंग
संसाधन के लिए पूरी तरह क्वालिफ़ाइड यूआरएल.
openOptionsPage()
chrome.runtime.openOptionsPage(
callback?: function,
)
अगर हो सके, तो अपने एक्सटेंशन के विकल्प वाला पेज खोलें.
सही कार्रवाई, आपके मेनिफ़ेस्ट के [options_ui](https://developer.chrome.com/docs/extensions/develop/ui/options-page#embedded_options)
या [options_page](https://developer.chrome.com/docs/extensions/develop/ui/options-page#full_page)
बटन पर निर्भर करती है. इसके अलावा, यह इस बात पर भी निर्भर करती है कि उस समय Chrome पर किस तरह की कार्रवाई काम करती है. उदाहरण के लिए, हो सकता है कि पेज को किसी नए टैब में, chrome://extensions में या किसी ऐप्लिकेशन में खोला गया हो. इसके अलावा, हो सकता है कि वह पेज खुले हुए विकल्प वाले पेज पर फ़ोकस करता हो. इससे कॉलर पेज कभी भी फिर से लोड नहीं होगा.
अगर आपका एक्सटेंशन, विकल्प पेज की जानकारी नहीं देता है या Chrome किसी दूसरी वजह से उसे नहीं बना पाता है, तो कॉलबैक lastError
को सेट कर देगा.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
लौटाए गए प्रॉडक्ट
-
Promise<void>
Chrome 99 के बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
reload()
chrome.runtime.reload()
ऐप्लिकेशन या एक्सटेंशन को फिर से लोड करता है. यह तरीका कीऑस्क मोड में काम नहीं करता है. कीऑस्क मोड के लिए, chrome.runtime.restart() वाला तरीका इस्तेमाल करें.
requestUpdateCheck()
chrome.runtime.requestUpdateCheck(
callback?: function,
)
इस ऐप्लिकेशन/एक्सटेंशन के अपडेट की तुरंत जांच करने का अनुरोध किया जाता है.
अहम जानकारी: ज़्यादातर एक्सटेंशन/ऐप्लिकेशन को इस तरीके का इस्तेमाल नहीं करना चाहिए, क्योंकि Chrome हर कुछ घंटों में अपने-आप जांच करता है. साथ ही, आपके पास runtime.onUpdateAvailable
इवेंट को सुनने के लिए, requestUpdateCheck को कॉल करने की ज़रूरत नहीं है.
यह तरीका बहुत ही सीमित परिस्थितियों में कॉल करने के लिए सही है. जैसे, जब आपका एक्सटेंशन किसी बैकएंड सेवा से बात करे और बैकएंड सेवा ने यह पता लगाया हो कि क्लाइंट एक्सटेंशन का वर्शन बहुत पुराना है और आपको उपयोगकर्ता से अपडेट करने का अनुरोध करना है. requestUpdateCheck के ज़्यादातर अन्य इस्तेमाल, संभावित रूप से सिर्फ़ क्लाइंट, नेटवर्क, और सर्वर के संसाधनों को बर्बाद करने के लिए काम करते हैं. जैसे, बार-बार होने वाले टाइमर के आधार पर उसे बिना किसी शर्त के कॉल करना.
ध्यान दें: कॉलबैक के साथ कॉल किए जाने पर, किसी ऑब्जेक्ट को लौटाने के बजाय यह फ़ंक्शन, कॉलबैक को पास किए गए अलग-अलग आर्ग्युमेंट के रूप में दो प्रॉपर्टी दिखाएगा.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(result: object) => void
-
नतीजा
ऑब्जेक्ट
Chrome 109 के बाद के वर्शनrequestUpdateCheckresults ऑब्जेक्ट में अपडेट की जांच का स्टेटस होता है. साथ ही, अपडेट उपलब्ध होने पर नतीजे से जुड़ी जानकारी होती है
-
status
अपडेट की जांच का नतीजा.
-
वर्शन
स्ट्रिंग ज़रूरी नहीं
अगर कोई अपडेट उपलब्ध है, तो इसमें मौजूदा अपडेट का वर्शन शामिल होता है.
-
-
लौटाए गए प्रॉडक्ट
-
Promise<object>
Chrome 109 के बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
restart()
chrome.runtime.restart()
जब ऐप्लिकेशन कीऑस्क मोड में चले, तो ChromeOS डिवाइस को रीस्टार्ट करें. वरना, कोई बात नहीं.
restartAfterDelay()
chrome.runtime.restartAfterDelay(
seconds: number,
callback?: function,
)
बताए गए कुछ सेकंड के बाद, ऐप्लिकेशन के कीऑस्क मोड में चलने पर, ChromeOS डिवाइस को रीस्टार्ट करें. अगर समय खत्म होने से पहले दोबारा कॉल किया जाता है, तो डिवाइस को फिर से चालू होने में देर होगी. -1 वैल्यू के साथ कॉल करने पर, फिर से चालू करने की प्रोसेस रद्द हो जाएगी. गैर-कीऑस्क मोड में यह काम नहीं करता. इस एपीआई को शुरू करने के लिए, सिर्फ़ पहला एक्सटेंशन इसे बार-बार कॉल कर सकता है.
पैरामीटर
-
सेकंड
नंबर
डिवाइस को फिर से चालू करने से पहले कुछ सेकंड तक इंतज़ार करें या शेड्यूल किए गए रीबूट को रद्द करने के लिए -1.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
लौटाए गए प्रॉडक्ट
-
Promise<void>
Chrome 99 के बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
sendMessage()
chrome.runtime.sendMessage(
extensionId?: string,
message: any,
options?: object,
callback?: function,
)
आपके एक्सटेंशन या किसी दूसरे एक्सटेंशन/ऐप्लिकेशन में इवेंट लिसनर को एक मैसेज भेजता है. यह runtime.connect
की तरह है, लेकिन वैकल्पिक जवाब के साथ सिर्फ़ एक मैसेज भेजता है. आपके एक्सटेंशन को भेजने पर, runtime.onMessage
इवेंट आपके एक्सटेंशन के हर फ़्रेम में सक्रिय हो जाएगा (भेजने वाले के फ़्रेम को छोड़कर) या किसी दूसरे एक्सटेंशन में runtime.onMessageExternal
ट्रिगर होगा. ध्यान दें कि एक्सटेंशन इस तरीके का इस्तेमाल करके, कॉन्टेंट स्क्रिप्ट को मैसेज नहीं भेज सकते. कॉन्टेंट स्क्रिप्ट को मैसेज भेजने के लिए, tabs.sendMessage
का इस्तेमाल करें.
पैरामीटर
-
extensionId
स्ट्रिंग ज़रूरी नहीं
उस एक्सटेंशन का आईडी जिसे मैसेज भेजना है. अगर हटाया जाता है, तो मैसेज आपके एक्सटेंशन/ऐप्लिकेशन पर भेजा जाएगा. वेब मैसेजिंग के लिए किसी वेब पेज से मैसेज भेजने के लिए ज़रूरी है.
-
ग्राहक का मैसेज
कोई भी
भेजने के लिए मैसेज. यह मैसेज एक ऐसा ऑब्जेक्ट होना चाहिए जिससे JSON में पुष्टि की जा सके.
-
विकल्प
ऑब्जेक्ट ज़रूरी नहीं
-
includeTlsChannelId
बूलियन ज़रूरी नहीं
कनेक्शन इवेंट को सुनने वाली प्रोसेस के लिए, TLS चैनल आईडी को onMessageExternal में पास किया जाएगा या नहीं.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
Chrome 99 के बाद के वर्शनcallback
पैरामीटर ऐसा दिखता है:(response: any) => void
-
जवाब
कोई भी
मैसेज के हैंडलर से भेजा गया JSON रिस्पॉन्स ऑब्जेक्ट. अगर एक्सटेंशन से कनेक्ट करते समय कोई गड़बड़ी होती है, तो कॉलबैक को बिना किसी आर्ग्युमेंट के कॉल किया जाएगा. साथ ही,
runtime.lastError
को गड़बड़ी के मैसेज पर सेट कर दिया जाएगा.
-
लौटाए गए प्रॉडक्ट
-
वादा<any>
Chrome 99 के बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
sendNativeMessage()
chrome.runtime.sendNativeMessage(
application: string,
message: object,
callback?: function,
)
स्थानीय ऐप्लिकेशन पर एक संदेश भेजें. इस तरीके के लिए, "nativeMessaging"
की अनुमति ज़रूरी है.
पैरामीटर
-
ऐप्लिकेशन
स्ट्रिंग
नेटिव मैसेजिंग होस्ट का नाम.
-
ग्राहक का मैसेज
ऑब्जेक्ट
वह मैसेज जो नेटिव मैसेजिंग होस्ट को भेजा जाएगा.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
Chrome 99 के बाद के वर्शनcallback
पैरामीटर ऐसा दिखता है:(response: any) => void
-
जवाब
कोई भी
नेटिव मैसेजिंग होस्ट से मिला रिस्पॉन्स मैसेज. अगर नेटिव मैसेजिंग होस्ट से कनेक्ट करते समय कोई गड़बड़ी होती है, तो कॉलबैक को बिना किसी आर्ग्युमेंट के कॉल किया जाएगा. साथ ही,
runtime.lastError
को गड़बड़ी के मैसेज पर सेट कर दिया जाएगा.
-
लौटाए गए प्रॉडक्ट
-
वादा<any>
Chrome 99 के बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
setUninstallURL()
chrome.runtime.setUninstallURL(
url: string,
callback?: function,
)
अनइंस्टॉल किए जाने पर विज़िट किया जाने वाला यूआरएल सेट करता है. इसका इस्तेमाल सर्वर साइड डेटा को हटाने, आंकड़े जुटाने, और सर्वे लागू करने के लिए किया जा सकता है. ज़्यादा से ज़्यादा 1,023 वर्ण.
पैरामीटर
-
यूआरएल
स्ट्रिंग
एक्सटेंशन को अनइंस्टॉल करने के बाद खोला जाने वाला यूआरएल. इस यूआरएल में http: या https: स्कीम होनी चाहिए. अनइंस्टॉल होने पर नया टैब न खोलने के लिए, एक खाली स्ट्रिंग सेट करें.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
Chrome 45+callback
पैरामीटर ऐसा दिखता है:() => void
लौटाए गए प्रॉडक्ट
-
Promise<void>
Chrome 99 के बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
इवेंट
onBrowserUpdateAvailable
chrome.runtime.onBrowserUpdateAvailable.addListener(
callback: function,
)
कृपया runtime.onRestartRequired
का इस्तेमाल करें.
Chrome अपडेट उपलब्ध होने पर सक्रिय होता है, लेकिन तुरंत इंस्टॉल नहीं होता है क्योंकि ब्राउज़र को रीस्टार्ट करना ज़रूरी होता है.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:() => void
onConnect
chrome.runtime.onConnect.addListener(
callback: function,
)
किसी एक्सटेंशन प्रोसेस या कॉन्टेंट स्क्रिप्ट (runtime.connect
के ज़रिए) से कनेक्शन बनाए जाने पर सक्रिय होता है.
onConnectExternal
chrome.runtime.onConnectExternal.addListener(
callback: function,
)
यह तब सक्रिय होता है, जब कोई कनेक्शन किसी दूसरे एक्सटेंशन (runtime.connect
के ज़रिए) से या किसी बाहरी कनेक्ट की जा सकने वाली वेबसाइट से बनाया जाता है.
onConnectNative
chrome.runtime.onConnectNative.addListener(
callback: function,
)
नेटिव ऐप्लिकेशन से कनेक्शन बनाए जाने पर ट्रिगर होता है. इस इवेंट के लिए, "nativeMessaging"
की अनुमति चाहिए. यह सिर्फ़ Chrome OS पर काम करता है.
onInstalled
chrome.runtime.onInstalled.addListener(
callback: function,
)
यह तब ट्रिगर होता है, जब एक्सटेंशन पहली बार इंस्टॉल किया जाता है, जब एक्सटेंशन को नए वर्शन में अपडेट किया जाता है, और Chrome को नए वर्शन में अपडेट किया जाता है.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:(details: object) => void
-
जानकारी
ऑब्जेक्ट
-
आईडी
स्ट्रिंग ज़रूरी नहीं
अपडेट किए गए इंपोर्ट किए गए शेयर किए गए मॉड्यूल एक्सटेंशन का आईडी दिखाता है. यह सिर्फ़ तब दिखता है, जब 'वजह' 'shared_module_update' हो.
-
previousVersion
स्ट्रिंग ज़रूरी नहीं
एक्सटेंशन के पिछले वर्शन को दिखाता है, जिसे अभी-अभी अपडेट किया गया है. ऐसा सिर्फ़ तब होता है, जब 'वजह' 'अपडेट' हो.
-
इस इवेंट को भेजने की वजह.
-
-
onMessage
chrome.runtime.onMessage.addListener(
callback: function,
)
यह तब ट्रिगर होता है, जब कोई मैसेज किसी एक्सटेंशन प्रोसेस (runtime.sendMessage
से) या कॉन्टेंट स्क्रिप्ट (tabs.sendMessage
से) से भेजा जाता है.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:(message: any, sender: MessageSender, sendResponse: function) => boolean | undefined
-
ग्राहक का मैसेज
कोई भी
-
भेजने वाला
-
sendResponse
function
sendResponse
पैरामीटर ऐसा दिखता है:() => void
-
returns
बूलियन | तय नहीं
-
onMessageExternal
chrome.runtime.onMessageExternal.addListener(
callback: function,
)
किसी मैसेज को runtime.sendMessage
से) किसी दूसरे एक्सटेंशन से भेजे जाने पर सक्रिय होता है. कॉन्टेंट स्क्रिप्ट में इसका इस्तेमाल नहीं किया जा सकता.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:(message: any, sender: MessageSender, sendResponse: function) => boolean | undefined
-
ग्राहक का मैसेज
कोई भी
-
भेजने वाला
-
sendResponse
function
sendResponse
पैरामीटर ऐसा दिखता है:() => void
-
returns
बूलियन | तय नहीं
-
onRestartRequired
chrome.runtime.onRestartRequired.addListener(
callback: function,
)
यह तब ट्रिगर होता है, जब किसी ऐप्लिकेशन या डिवाइस को रीस्टार्ट करने की ज़रूरत होती है. ऐप्लिकेशन को रीस्टार्ट करने के लिए, अपनी सभी विंडो को जल्द से जल्द बंद कर देना चाहिए. अगर ऐप्लिकेशन कोई काम नहीं करता है, तो 24 घंटे का ग्रेस पीरियड खत्म होने के बाद, ऐप्लिकेशन को रीस्टार्ट किया जाएगा. फ़िलहाल, यह इवेंट सिर्फ़ Chrome OS कीऑस्क ऐप्लिकेशन के लिए ही चालू किया जाता है.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:(reason: OnRestartRequiredReason) => void
onStartup
chrome.runtime.onStartup.addListener(
callback: function,
)
जब वह प्रोफ़ाइल पहली बार शुरू होती है जिसमें यह एक्सटेंशन इंस्टॉल है, तब सक्रिय होता है. गुप्त प्रोफ़ाइल शुरू होने पर यह इवेंट चालू नहीं होता, भले ही यह एक्सटेंशन 'स्प्लिट' गुप्त मोड में काम कर रहा हो.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:() => void
onSuspend
chrome.runtime.onSuspend.addListener(
callback: function,
)
अनलोड होने से ठीक पहले, इवेंट पेज पर भेजा जाता है. यह एक्सटेंशन को कुछ साफ़ करने का अवसर देता है. ध्यान दें कि पेज अनलोड हो रहा है. इसलिए, इस इवेंट को हैंडल करते समय शुरू हुए एसिंक्रोनस ऑपरेशन के पूरा होने की कोई गारंटी नहीं है. अगर इवेंट पेज के अनलोड होने से पहले कोई और गतिविधि होती है, तो onनिलंबित किए गए इवेंट को भेजा जाएगा और पेज को अनलोड नहीं किया जाएगा.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:() => void
onSuspendCanceled
chrome.runtime.onSuspendCanceled.addListener(
callback: function,
)
इसे Onनिलंबित के बाद भेजा जाएगा, ताकि यह बताया जा सके कि ऐप्लिकेशन को पूरी तरह से अनलोड नहीं किया जाएगा.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:() => void
onUpdateAvailable
chrome.runtime.onUpdateAvailable.addListener(
callback: function,
)
अपडेट उपलब्ध होने पर सक्रिय होता है, लेकिन तुरंत इंस्टॉल नहीं होता, क्योंकि ऐप्लिकेशन अभी चल रहा है. अगर आप कुछ नहीं करते हैं, तो अगली बार बैकग्राउंड पेज अनलोड होने पर अपडेट इंस्टॉल हो जाएगा. अगर आपको इसे जल्दी इंस्टॉल करना है, तो साफ़ तौर पर chrome.runtime.reload() को कॉल किया जा सकता है. अगर आपका एक्सटेंशन किसी स्थायी बैकग्राउंड पेज का इस्तेमाल कर रहा है, तो कोर्स का बैकग्राउंड पेज कभी अनलोड नहीं होता, इसलिए जब तक इस इवेंट के जवाब में chrome.runtime.reload() को मैन्युअल रूप से कॉल नहीं किया जाता, तब तक Chrome खुद के रीस्टार्ट होने तक अपडेट इंस्टॉल नहीं होगा. अगर इस इवेंट के लिए कोई हैंडलर नहीं सुन रहा है और आपके एक्सटेंशन में एक स्थायी बैकग्राउंड पेज है, तो यह ऐसे काम करता है जैसे इस इवेंट के जवाब में chrome.runtime.reload() कॉल किया जाता है.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:(details: object) => void
-
जानकारी
ऑब्जेक्ट
-
वर्शन
स्ट्रिंग
उपलब्ध अपडेट का वर्शन नंबर.
-
-
onUserScriptConnect
chrome.runtime.onUserScriptConnect.addListener(
callback: function,
)
जब इस एक्सटेंशन की किसी उपयोगकर्ता स्क्रिप्ट से कनेक्शन बनाया जाता है, तब ट्रिगर होता है.
onUserScriptMessage
chrome.runtime.onUserScriptMessage.addListener(
callback: function,
)
तब सक्रिय होता है, जब कोई मैसेज उसी एक्सटेंशन से जुड़ी उपयोगकर्ता स्क्रिप्ट से भेजा जाता है.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:(message: any, sender: MessageSender, sendResponse: function) => boolean | undefined
-
ग्राहक का मैसेज
कोई भी
-
भेजने वाला
-
sendResponse
function
sendResponse
पैरामीटर ऐसा दिखता है:() => void
-
returns
बूलियन | तय नहीं
-