ब्यौरा
chrome.runtime एपीआई का इस्तेमाल करके, सर्विस वर्कर को वापस पाएं. साथ ही, मेनिफ़ेस्ट के बारे में जानकारी वापस पाएं. इसके अलावा, एक्सटेंशन के लाइफ़साइकल में होने वाले इवेंट को सुनें और उनका जवाब दें. इस एपीआई का इस्तेमाल, यूआरएल के रिलेटिव पाथ को पूरी तरह से क्वालिफ़ाइड यूआरएल में बदलने के लिए भी किया जा सकता है.
खास जानकारी
Runtime API, कई तरह के फ़ंक्शन के लिए तरीके उपलब्ध कराता है. आपके एक्सटेंशन इनका इस्तेमाल कर सकते हैं:
- मैसेज पास करना
- आपका एक्सटेंशन, इन तरीकों और इवेंट का इस्तेमाल करके, अपने एक्सटेंशन के अलग-अलग कॉन्टेक्स्ट के साथ-साथ अन्य एक्सटेंशन के साथ भी कम्यूनिकेट कर सकता है: connect(), onConnect, onConnectExternal, sendMessage(), onMessage और onMessageExternal. इसके अलावा, आपका एक्सटेंशन, उपयोगकर्ता के डिवाइस पर मौजूद नेटिव ऐप्लिकेशन को मैसेज भेज सकता है. इसके लिए, connectNative() और sendNativeMessage() का इस्तेमाल किया जा सकता है.
- एक्सटेंशन और प्लैटफ़ॉर्म के मेटाडेटा को ऐक्सेस करना
- इन तरीकों से, एक्सटेंशन और प्लैटफ़ॉर्म के बारे में मेटाडेटा के कई खास हिस्से वापस पाए जा सकते हैं. इस कैटगरी में ये तरीके शामिल हैं: getManifest() और getPlatformInfo().
- एक्सटेंशन के लाइफ़साइकल और विकल्पों को मैनेज करना
- इन प्रॉपर्टी की मदद से, एक्सटेंशन पर कुछ मेटा-ऑपरेशन किए जा सकते हैं. साथ ही, विकल्प पेज दिखाया जा सकता है. इस कैटगरी में ये तरीके और इवेंट शामिल हैं: onInstalled, onStartup, openOptionsPage(), reload(), requestUpdateCheck(), और setUninstallURL().
- हेल्पर यूटिलिटी
- इन तरीकों से, इंटरनल रिसॉर्स के प्रज़ेंटेशन को बाहरी फ़ॉर्मैट में बदलने जैसी सुविधाएं मिलती हैं. इस कैटगरी में ये तरीके शामिल हैं getURL().
- कीऑस्क मोड की सुविधाएं
- ये तरीके सिर्फ़ ChromeOS पर उपलब्ध हैं. इनका इस्तेमाल मुख्य रूप से कीऑस्क मोड को लागू करने के लिए किया जाता है. इस कैटगरी में ये तरीके शामिल हैं: restart और restartAfterDelay.
अनुमतियां
Runtime API के ज़्यादातर तरीकों के लिए, किसी अनुमति की ज़रूरत नहीं होती. हालांकि, 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');
  }
});
एक्सटेंशन के उदाहरण
Runtime API के ज़्यादा उदाहरणों के लिए, Manifest V3 - Web Accessible Resources का डेमो देखें.
टाइप
ContextFilter
यह फ़िल्टर, कुछ एक्सटेंशन कॉन्टेक्स्ट से मैच करने के लिए होता है. मिलते-जुलते कॉन्टेक्स्ट, तय किए गए सभी फ़िल्टर से मेल खाने चाहिए. तय नहीं किया गया कोई भी फ़िल्टर, सभी उपलब्ध कॉन्टेक्स्ट से मेल खाता है. इसलिए, `{}` फ़िल्टर, उपलब्ध सभी कॉन्टेक्स्ट से मेल खाएगा.
प्रॉपर्टी
- 
    contextIdsstring[] ज़रूरी नहीं 
- 
    contextTypesContextType[] optional 
- 
    documentIdsstring[] ज़रूरी नहीं 
- 
    documentOriginsstring[] ज़रूरी नहीं 
- 
    documentUrlsstring[] ज़रूरी नहीं 
- 
    frameIdsnumber[] optional 
- 
    गुप्तबूलियन ज़रूरी नहीं है 
- 
    tabIdsnumber[] optional 
- 
    windowIdsnumber[] optional 
ContextType
Enum
"TAB" 
 कॉन्टेक्स्ट टाइप को टैब के तौर पर तय करता है
"POPUP" 
 कॉन्टेक्स्ट टाइप को एक्सटेंशन पॉपअप विंडो के तौर पर तय करता है
"BACKGROUND" 
 कॉन्टेक्स्ट टाइप को सर्विस वर्कर के तौर पर तय करता है.
"OFFSCREEN_DOCUMENT" 
 कॉन्टेक्स्ट टाइप को ऑफ़स्क्रीन दस्तावेज़ के तौर पर तय करता है.
"SIDE_PANEL" 
 इससे कॉन्टेक्स्ट टाइप को साइड पैनल के तौर पर सेट किया जाता है.
"DEVELOPER_TOOLS" 
 कॉन्टेक्स्ट टाइप को डेवलपर टूल के तौर पर सेट करता है.
ExtensionContext
कॉन्टेक्स्ट होस्ट करने वाला एक्सटेंशन कॉन्टेंट.
प्रॉपर्टी
- 
    contextIdस्ट्रिंग इस कॉन्टेक्स्ट के लिए यूनीक आइडेंटिफ़ायर 
- 
    contextTypeयह किस तरह के कॉन्टेक्स्ट से जुड़ा है. 
- 
    documentIdstring ज़रूरी नहीं है इस कॉन्टेक्स्ट से जुड़े दस्तावेज़ के लिए यूयूआईडी. अगर यह कॉन्टेक्स्ट किसी दस्तावेज़ में होस्ट नहीं किया गया है, तो इसे 'तय नहीं किया गया' के तौर पर सेट किया जाता है. 
- 
    documentOriginstring ज़रूरी नहीं है इस कॉन्टेक्स्ट से जुड़े दस्तावेज़ का ऑरिजिन या अगर कॉन्टेक्स्ट को किसी दस्तावेज़ में होस्ट नहीं किया गया है, तो undefined. 
- 
    documentUrlstring ज़रूरी नहीं है इस कॉन्टेक्स्ट से जुड़े दस्तावेज़ का यूआरएल. अगर कॉन्टेक्स्ट को किसी दस्तावेज़ में होस्ट नहीं किया गया है, तो इसे अपरिभाषित किया जाता है. 
- 
    frameIdसंख्या इस कॉन्टेक्स्ट के लिए फ़्रेम का आईडी. अगर यह कॉन्टेक्स्ट किसी फ़्रेम में होस्ट नहीं किया गया है, तो -1. 
- 
    गुप्तबूलियन यह कुकी, यह तय करती है कि कॉन्टेक्स्ट किसी गुप्त प्रोफ़ाइल से जुड़ा है या नहीं. 
- 
    tabIdसंख्या इस कॉन्टेक्स्ट के लिए टैब का आईडी या -1, अगर यह कॉन्टेक्स्ट किसी टैब में होस्ट नहीं किया गया है. 
- 
    windowIdसंख्या इस कॉन्टेक्स्ट के लिए विंडो का आईडी या -1, अगर यह कॉन्टेक्स्ट किसी विंडो में होस्ट नहीं किया गया है. 
MessageSender
यह ऑब्जेक्ट, स्क्रिप्ट के उस कॉन्टेक्स्ट के बारे में जानकारी देता है जिसने मैसेज या अनुरोध भेजा है.
प्रॉपर्टी
- 
    documentIdstring ज़रूरी नहीं है Chrome 106 और इसके बाद के वर्शनकनेक्शन खोलने वाले दस्तावेज़ का यूयूआईडी. 
- 
    documentLifecyclestring ज़रूरी नहीं है Chrome 106 और इसके बाद के वर्शनपोर्ट बनाए जाने के समय, कनेक्शन खोलने वाले दस्तावेज़ का लाइफ़साइकल. ध्यान दें कि पोर्ट बनाने के बाद, दस्तावेज़ की लाइफ़साइकल स्थिति बदल सकती है. 
- 
    frameIdnumber ज़रूरी नहीं कनेक्शन खोलने वाला फ़्रेम. टॉप-लेवल फ़्रेम के लिए 0 और चाइल्ड फ़्रेम के लिए पॉज़िटिव वैल्यू. यह कुकी सिर्फ़ तब सेट की जाएगी, जब tabसेट किया गया हो.
- 
    आईडीstring ज़रूरी नहीं है अगर कोई एक्सटेंशन कनेक्शन खोलता है, तो उसका आईडी. 
- 
    nativeApplicationstring ज़रूरी नहीं है Chrome 74 या इसके बाद का वर्शनअगर कोई नेटिव ऐप्लिकेशन कनेक्शन खोलता है, तो उसका नाम. 
- 
    originstring ज़रूरी नहीं है Chrome 80 या इसके बाद के वर्शनकनेक्शन खोलने वाले पेज या फ़्रेम का ऑरिजिन. यह यूआरएल प्रॉपर्टी (जैसे, about:blank) से अलग हो सकता है या अपारदर्शी हो सकता है (जैसे, सैंडबॉक्स किए गए iframe). अगर हम यूआरएल से तुरंत यह पता नहीं लगा पाते हैं कि ओरिजिन पर भरोसा किया जा सकता है या नहीं, तो यह जानकारी यह पता लगाने में मददगार होती है. 
- 
    टैब सेटैब ज़रूरी नहीं है कनेक्शन खोलने वाला tabs.Tab. अगर कोई नहीं है, तो यह फ़ील्ड मौजूद नहीं होगा. यह प्रॉपर्टी सिर्फ़ तब मौजूद होगी, जब कनेक्शन को किसी टैब (इसमें कॉन्टेंट स्क्रिप्ट भी शामिल हैं) से खोला गया हो. साथ ही, यह सिर्फ़ तब मौजूद होगी, जब रिसीवर कोई एक्सटेंशन हो, ऐप्लिकेशन न हो.
- 
    tlsChannelIdstring ज़रूरी नहीं है कनेक्शन खोलने वाले पेज या फ़्रेम का टीएलएस चैनल आईडी. यह आईडी तब मिलता है, जब एक्सटेंशन इसका अनुरोध करता है और यह उपलब्ध होता है. 
- 
    urlstring ज़रूरी नहीं है कनेक्शन खोलने वाले पेज या फ़्रेम का यूआरएल. अगर भेजने वाला iframe में है, तो यह iframe का यूआरएल होगा. यह उस पेज का यूआरएल नहीं होगा जो इसे होस्ट करता है. 
OnInstalledReason
इस इवेंट को भेजने की वजह.
Enum
"install" 
 इससे इवेंट की वजह को इंस्टॉलेशन के तौर पर सेट किया जाता है.
"update" 
 इससे इवेंट के होने की वजह का पता चलता है. जैसे, एक्सटेंशन अपडेट किया गया.
"chrome_update" 
 इस इवेंट के होने की वजह के तौर पर Chrome अपडेट को दिखाता है.
"shared_module_update" 
 इससे इवेंट की वजह के बारे में पता चलता है. जैसे, शेयर किए गए मॉड्यूल में अपडेट किया गया है.
OnRestartRequiredReason
इवेंट को डिसपैच करने की वजह. 'app_update' का इस्तेमाल तब किया जाता है, जब ऐप्लिकेशन को नए वर्शन में अपडेट करने की वजह से रीस्टार्ट करना ज़रूरी हो. 'os_update' का इस्तेमाल तब किया जाता है, जब ब्राउज़र/ओएस को नए वर्शन में अपडेट करने की वजह से रीस्टार्ट करने की ज़रूरत होती है. 'periodic' का इस्तेमाल तब किया जाता है, जब सिस्टम, एंटरप्राइज़ की नीति में सेट किए गए अनुमत अपटाइम से ज़्यादा समय तक चलता है.
Enum
"app_update" 
 इससे इवेंट की वजह के तौर पर ऐप्लिकेशन को अपडेट करने की जानकारी मिलती है.
"os_update" 
 इससे इवेंट की वजह के तौर पर, ऑपरेटिंग सिस्टम के अपडेट होने की जानकारी मिलती है.
"periodic" 
 इससे इवेंट की वजह के तौर पर, ऐप्लिकेशन के समय-समय पर रीस्टार्ट होने की जानकारी मिलती है.
PlatformArch
मशीन के प्रोसेसर का आर्किटेक्चर.
Enum
"arm" 
 प्रोसेसर के आर्किटेक्चर को arm के तौर पर तय करता है.
"arm64" 
 प्रोसेसर के आर्किटेक्चर को arm64 के तौर पर तय करता है.
"x86-32" 
 प्रोसेसर के आर्किटेक्चर को x86-32 के तौर पर तय करता है.
"x86-64" 
 प्रोसेसर के आर्किटेक्चर को x86-64 के तौर पर तय करता है.
"mips" 
 यह प्रोसेसर के आर्किटेक्चर को mips के तौर पर तय करता है.
"mips64" 
 प्रोसेसर के आर्किटेक्चर को mips64 के तौर पर तय करता है.
"riscv64" 
 प्रोसेसर के आर्किटेक्चर को riscv64 के तौर पर तय करता है.
PlatformInfo
मौजूदा प्लैटफ़ॉर्म के बारे में जानकारी देने वाला ऑब्जेक्ट.
प्रॉपर्टी
- 
    आर्कमशीन के प्रोसेसर का आर्किटेक्चर. 
- 
    nacl_archPlatformNaclArch ज़रूरी नहीं है नेटिव क्लाइंट आर्किटेक्चर. यह कुछ प्लैटफ़ॉर्म पर मौजूद, 'संग्रहित करें' सुविधा से अलग हो सकता है. 
- 
    osयह कुकी उस ऑपरेटिंग सिस्टम के बारे में जानकारी सेव करती है जिस पर Chrome चल रहा है. 
PlatformNaclArch
नेटिव क्लाइंट आर्किटेक्चर. यह कुछ प्लैटफ़ॉर्म पर मौजूद, 'संग्रहित करें' सुविधा से अलग हो सकता है.
Enum
"arm" 
 यह नेटिव क्लाइंट आर्किटेक्चर को arm के तौर पर तय करता है.
"x86-32" 
 यह नेटिव क्लाइंट आर्किटेक्चर को x86-32 के तौर पर तय करता है.
"x86-64" 
 यह नेटिव क्लाइंट आर्किटेक्चर को x86-64 के तौर पर तय करता है.
"mips" 
 यह नेटिव क्लाइंट आर्किटेक्चर को mips के तौर पर तय करता है.
"mips64" 
 यह नेटिव क्लाइंट आर्किटेक्चर को mips64 के तौर पर तय करता है.
PlatformOs
यह कुकी उस ऑपरेटिंग सिस्टम के बारे में जानकारी सेव करती है जिस पर Chrome चल रहा है.
Enum
"mac" 
 यह MacOS ऑपरेटिंग सिस्टम के बारे में बताता है.
"win" 
 यह Windows ऑपरेटिंग सिस्टम के बारे में बताता है.
"android" 
 यह Android ऑपरेटिंग सिस्टम के बारे में बताता है.
"cros" 
 Chrome ऑपरेटिंग सिस्टम के बारे में बताता है.
"linux" 
 Linux ऑपरेटिंग सिस्टम के बारे में बताता है.
"openbsd" 
 यह OpenBSD ऑपरेटिंग सिस्टम के बारे में बताता है.
Port
यह एक ऐसा ऑब्जेक्ट है जो अन्य पेजों के साथ दोनों तरह से कम्यूनिकेट करने की अनुमति देता है. ज़्यादा जानकारी के लिए, लंबे समय तक बने रहने वाले कनेक्शन देखें.
प्रॉपर्टी
- 
    नामस्ट्रिंग पोर्ट का नाम, जैसा कि runtime.connectको किए गए कॉल में बताया गया है.
- 
    onDisconnectEvent<functionvoidvoid> यह इवेंट तब ट्रिगर होता है, जब पोर्ट को दूसरे एंड से डिसकनेक्ट कर दिया जाता है. अगर पोर्टिंग की प्रोसेस में कोई गड़बड़ी हुई है, तो runtime.lastErrorसेट किया जा सकता है. अगर पोर्ट को disconnect के ज़रिए बंद किया जाता है, तो यह इवेंट सिर्फ़ दूसरे डिवाइस पर ट्रिगर होता है. यह इवेंट ज़्यादा से ज़्यादा एक बार ट्रिगर होता है. पोर्ट का लाइफ़टाइम भी देखें.onDisconnect.addListenerफ़ंक्शन इस तरह दिखता है:(callback: function) => {...} 
- 
    onMessageEvent<functionvoidvoid> यह इवेंट तब ट्रिगर होता है, जब पोर्ट के दूसरे छोर से postMessage को कॉल किया जाता है. onMessage.addListenerफ़ंक्शन इस तरह दिखता है:(callback: function) => {...} 
- 
    भेजने वालाMessageSender ज़रूरी नहीं है यह प्रॉपर्टी, onConnect / onConnectExternal / onConnectNative लिसनर को पास किए गए पोर्ट पर सिर्फ़ तब मौजूद होगी, जब पोर्ट को कनेक्ट किया गया हो. 
- 
    डिसकनेक्ट करेंअमान्य पोर्ट को तुरंत डिसकनेक्ट कर दें. पहले से डिसकनेक्ट किए गए पोर्ट पर disconnect()को कॉल करने से कोई असर नहीं पड़ता. किसी पोर्ट को डिसकनेक्ट करने पर, इस पोर्ट पर कोई नया इवेंट नहीं भेजा जाएगा.disconnectफ़ंक्शन इस तरह दिखता है:() => {...}
- 
    postMessageअमान्य पोर्ट के दूसरे डिवाइस को मैसेज भेजें. अगर पोर्ट डिसकनेक्ट हो जाता है, तो गड़बड़ी का मैसेज दिखता है. postMessageफ़ंक्शन इस तरह दिखता है:(message: any) => {...} - 
    मैसेजकोई Chrome 52 या इसके बाद का वर्शनभेजा जाने वाला मैसेज. इस ऑब्जेक्ट को JSON में बदला जा सकता है. 
 
- 
    
RequestUpdateCheckStatus
अपडेट की जांच का नतीजा.
Enum
"throttled" 
 इससे पता चलता है कि स्टेटस की जांच को थ्रॉटल किया गया है. ऐसा कम समय में बार-बार जांच करने पर हो सकता है.
"no_update" 
 इससे पता चलता है कि इंस्टॉल करने के लिए कोई अपडेट उपलब्ध नहीं है.
"update_available" 
 इससे पता चलता है कि इंस्टॉल करने के लिए कोई अपडेट उपलब्ध है.
प्रॉपर्टी
id
एक्सटेंशन/ऐप्लिकेशन का आईडी.
टाइप
स्ट्रिंग
lastError
अगर एपीआई फ़ंक्शन को कॉल करने में गड़बड़ी होती है, तो इसमें गड़बड़ी का मैसेज दिखता है. ऐसा न होने पर, यह तय नहीं होता. इसे सिर्फ़ उस फ़ंक्शन के कॉलबैक के स्कोप में तय किया जाता है. अगर कोई गड़बड़ी होती है, लेकिन कॉलबैक के दौरान runtime.lastError को ऐक्सेस नहीं किया जाता है, तो कंसोल में एक मैसेज लॉग किया जाता है. इसमें गड़बड़ी करने वाले एपीआई फ़ंक्शन की सूची होती है. प्रॉमिस देने वाले एपीआई फ़ंक्शन, इस प्रॉपर्टी को सेट नहीं करते.
टाइप
ऑब्जेक्ट
प्रॉपर्टी
- 
    मैसेजstring ज़रूरी नहीं है गड़बड़ी के बारे में जानकारी. 
तरीके
connect()
chrome.runtime.connect(
extensionId?: string,
connectInfo?: object,
): Port
यह कुकी, एक्सटेंशन (जैसे कि बैकग्राउंड पेज) या अन्य एक्सटेंशन/ऐप्लिकेशन में मौजूद लिसनर से कनेक्ट करने की कोशिश करती है. यह एक्सटेंशन प्रोसेस, ऐप्लिकेशन/एक्सटेंशन के बीच कम्यूनिकेशन, और वेब मैसेजिंग से कनेक्ट होने वाली कॉन्टेंट स्क्रिप्ट के लिए फ़ायदेमंद है. ध्यान दें कि यह कॉन्टेंट स्क्रिप्ट में मौजूद किसी भी लिसनर से कनेक्ट नहीं होता है. एक्सटेंशन, tabs.connect के ज़रिए टैब में एम्बेड की गई कॉन्टेंट स्क्रिप्ट से कनेक्ट हो सकते हैं.
पैरामीटर
- 
    extensionIdstring ज़रूरी नहीं है उस एक्सटेंशन का आईडी जिससे कनेक्ट करना है. अगर इसे छोड़ दिया जाता है, तो आपके एक्सटेंशन से कनेक्ट करने की कोशिश की जाएगी. अगर वेब मैसेजिंग के लिए, किसी वेब पेज से मैसेज भेजे जा रहे हैं, तो यह कुकी ज़रूरी है. 
- 
    connectInfoobject ज़रूरी नहीं है - 
    includeTlsChannelIdबूलियन ज़रूरी नहीं है क्या टीएलएस चैनल आईडी को onConnectExternal में पास किया जाएगा. ऐसा उन प्रोसेस के लिए किया जाएगा जो कनेक्शन इवेंट को सुन रही हैं. 
- 
    नामstring ज़रूरी नहीं है इसे onConnect में पास किया जाएगा. ऐसा उन प्रोसेस के लिए किया जाएगा जो कनेक्शन इवेंट को सुन रही हैं. 
 
- 
    
रिटर्न
- 
            वह पोर्ट जिसके ज़रिए मैसेज भेजे और पाए जा सकते हैं. अगर एक्सटेंशन मौजूद नहीं है, तो पोर्ट का onDisconnect इवेंट ट्रिगर होता है. 
connectNative()
chrome.runtime.connectNative(
application: string,
): Port
यह होस्ट मशीन में मौजूद नेटिव ऐप्लिकेशन से कनेक्ट होता है. इस तरीके के लिए, "nativeMessaging" अनुमति ज़रूरी है. ज़्यादा जानकारी के लिए, नेटिव मैसेजिंग देखें.
पैरामीटर
- 
    ऐप्लिकेशनस्ट्रिंग कनेक्ट करने के लिए, रजिस्टर किए गए ऐप्लिकेशन का नाम. 
रिटर्न
- 
            पोर्ट, जिसके ज़रिए ऐप्लिकेशन से मैसेज भेजे और पाए जा सकते हैं 
getBackgroundPage()
chrome.runtime.getBackgroundPage(
callback?: function,
): Promise<Window | undefined>
MV3 एक्सटेंशन में बैकग्राउंड पेज नहीं होते हैं.
यह फ़ंक्शन, मौजूदा एक्सटेंशन/ऐप्लिकेशन में चल रहे बैकग्राउंड पेज के लिए JavaScript 'window' ऑब्जेक्ट को वापस लाता है. अगर बैकग्राउंड पेज कोई इवेंट पेज है, तो सिस्टम यह पक्का करेगा कि कॉलबैक को कॉल करने से पहले इसे लोड किया गया हो. अगर कोई बैकग्राउंड पेज नहीं है, तो गड़बड़ी का मैसेज दिखता है.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:(backgroundPage?: Window) => void - 
    backgroundPageविंडो ज़रूरी नहीं है बैकग्राउंड पेज के लिए JavaScript 'window' ऑब्जेक्ट. 
 
- 
    
रिटर्न
- 
            Promise<Window | undefined> Chrome 99 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
getManifest()
chrome.runtime.getManifest(): object
यह फ़ंक्शन, मेनिफ़ेस्ट से ऐप्लिकेशन या एक्सटेंशन के बारे में जानकारी दिखाता है. जवाब के तौर पर मिली ऑब्जेक्ट, पूरी मेनिफ़ेस्ट फ़ाइल का सीरियलाइज़ेशन होता है.
रिटर्न
- 
            ऑब्जेक्ट मेनिफ़ेस्ट की जानकारी. 
getPackageDirectoryEntry()
chrome.runtime.getPackageDirectoryEntry(
callback?: function,
): Promise<DirectoryEntry>
यह पैकेज डायरेक्ट्री के लिए DirectoryEntry दिखाता है.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:(directoryEntry: DirectoryEntry) => void - 
    directoryEntryDirectoryEntry 
 
- 
    
रिटर्न
- 
            Promise<DirectoryEntry> Chrome 122 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
getPlatformInfo()
chrome.runtime.getPlatformInfo(
callback?: function,
): Promise<PlatformInfo>
मौजूदा प्लैटफ़ॉर्म के बारे में जानकारी देता है.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:(platformInfo: PlatformInfo) => void - 
    platformInfo
 
- 
    
रिटर्न
- 
            Promise<PlatformInfo> Chrome 99 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
getURL()
chrome.runtime.getURL(
path: string,
): string
यह फ़ंक्शन, ऐप्लिकेशन/एक्सटेंशन इंस्टॉल डायरेक्ट्री में मौजूद रिलेटिव पाथ को पूरी तरह से मान्य यूआरएल में बदलता है.
पैरामीटर
- 
    पाथस्ट्रिंग किसी ऐप्लिकेशन/एक्सटेंशन में मौजूद किसी रिसॉर्स का पाथ, जिसे उसकी इंस्टॉल डायरेक्ट्री के हिसाब से दिखाया जाता है. 
रिटर्न
- 
            स्ट्रिंग संसाधन का पूरी तरह से मान्य यूआरएल. 
getVersion()
chrome.runtime.getVersion(): string
यह फ़ंक्शन, मेनिफ़ेस्ट में बताए गए एक्सटेंशन के वर्शन को दिखाता है.
रिटर्न
- 
            स्ट्रिंग एक्सटेंशन का वर्शन. 
openOptionsPage()
chrome.runtime.openOptionsPage(
callback?: function,
): Promise<void>
अगर हो सके, तो अपने एक्सटेंशन का विकल्प पेज खोलें.
हालांकि, यह व्यवहार आपकी मेनिफ़ेस्ट फ़ाइल की options_ui या options_page कुंजी पर निर्भर करता है. इसके अलावा, यह इस बात पर भी निर्भर करता है कि Chrome उस समय कौनसी सुविधा के साथ काम करता है. उदाहरण के लिए, पेज को नए टैब में, chrome://extensions में, किसी ऐप्लिकेशन में खोला जा सकता है. इसके अलावा, यह खुले हुए विकल्प वाले पेज पर फ़ोकस भी कर सकता है. इससे कॉलर पेज कभी भी फिर से लोड नहीं होगा.
अगर आपका एक्सटेंशन, विकल्प वाला पेज नहीं दिखाता है या Chrome किसी अन्य वजह से विकल्प वाला पेज नहीं बना सका, तो कॉलबैक lastError सेट करेगा.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:() => void 
रिटर्न
- 
            Promise<void> Chrome 99 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
reload()
chrome.runtime.reload(): void
ऐप्लिकेशन या एक्सटेंशन को फिर से लोड करता है. यह तरीका, किऑस्क मोड में काम नहीं करता. कीऑस्क मोड के लिए, chrome.runtime.restart() तरीके का इस्तेमाल करें.
requestUpdateCheck()
chrome.runtime.requestUpdateCheck(
callback?: function,
): Promise<object>
यह कुकी, इस ऐप्लिकेशन/एक्सटेंशन के लिए तुरंत अपडेट की जांच करने का अनुरोध करती है.
अहम जानकारी: ज़्यादातर एक्सटेंशन/ऐप्लिकेशन को इस तरीके का इस्तेमाल नहीं करना चाहिए. इसकी वजह यह है कि Chrome हर कुछ घंटों में अपने-आप जांच करता है. साथ ही, requestUpdateCheck को कॉल किए बिना, runtime.onUpdateAvailable इवेंट को सुना जा सकता है.
इस तरीके का इस्तेमाल सिर्फ़ कुछ खास मामलों में किया जाना चाहिए. जैसे, अगर आपका एक्सटेंशन किसी बैकएंड सेवा से कम्यूनिकेट करता है और बैकएंड सेवा ने यह तय किया है कि क्लाइंट एक्सटेंशन का वर्शन बहुत पुराना है और आपको उपयोगकर्ता को अपडेट करने के लिए कहना है. requestUpdateCheck का इस्तेमाल करने के अन्य तरीकों से, क्लाइंट, नेटवर्क, और सर्वर के संसाधनों की बर्बादी होती है. जैसे, बार-बार चलने वाले टाइमर के आधार पर बिना शर्त इसे कॉल करना.
ध्यान दें: कॉलबैक के साथ कॉल किए जाने पर, यह फ़ंक्शन ऑब्जेक्ट को वापस भेजने के बजाय, दो प्रॉपर्टी को कॉलबैक में पास किए गए अलग-अलग तर्कों के तौर पर वापस भेजेगा.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:(result: object) => void - 
    नतीजाऑब्जेक्ट Chrome 109 और इसके बाद के वर्शनRequestUpdateCheckResult ऑब्जेक्ट, अपडेट की जांच की स्थिति और अगर कोई अपडेट उपलब्ध है, तो नतीजे की जानकारी सेव करता है - 
    स्थितिअपडेट की जांच का नतीजा. 
- 
    वर्शनstring ज़रूरी नहीं है अगर कोई अपडेट उपलब्ध है, तो इसमें उपलब्ध अपडेट का वर्शन होता है. 
 
- 
    
 
- 
    
रिटर्न
- 
            Promise<object> Chrome 109 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
restart()
chrome.runtime.restart(): void
ऐप्लिकेशन के कीऑस्क मोड में चलने पर, ChromeOS डिवाइस को फिर से चालू करें. ऐसा न होने पर, यह कोई कार्रवाई नहीं करता.
restartAfterDelay()
chrome.runtime.restartAfterDelay(
seconds: number,
callback?: function,
): Promise<void>
इस विकल्प को चुनने पर, कीऑस्क मोड में ऐप्लिकेशन चलने के बाद, ChromeOS डिवाइस को तय किए गए समय के बाद रीस्टार्ट किया जाता है. अगर इस फ़ंक्शन को समयसीमा खत्म होने से पहले फिर से कॉल किया जाता है, तो रीबूट होने में देरी होगी. अगर इसे -1 वैल्यू के साथ कॉल किया जाता है, तो रीबूट करने की प्रोसेस रद्द हो जाएगी. यह नॉन-कीऑस्क मोड में काम नहीं करता है. इस एपीआई को बार-बार सिर्फ़ पहला एक्सटेंशन कॉल कर सकता है.
पैरामीटर
- 
    सेकंडसंख्या डिवाइस को रीबूट करने से पहले इंतज़ार करने का समय, सेकंड में. अगर रीबूट करने का शेड्यूल रद्द करना है, तो -1 डालें. 
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:() => void 
रिटर्न
- 
            Promise<void> Chrome 99 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
sendMessage()
chrome.runtime.sendMessage(
extensionId?: string,
message: any,
options?: object,
callback?: function,
): Promise<any>
यह आपके एक्सटेंशन या किसी अन्य एक्सटेंशन/ऐप्लिकेशन में मौजूद इवेंट लिसनर को एक मैसेज भेजता है. यह runtime.connect जैसा ही है, लेकिन यह सिर्फ़ एक मैसेज भेजता है. इसमें जवाब देना ज़रूरी नहीं है. अगर एक्सटेंशन को मैसेज भेजा जा रहा है, तो runtime.onMessage इवेंट, एक्सटेंशन के हर फ़्रेम में ट्रिगर होगा. हालांकि, यह इवेंट भेजने वाले के फ़्रेम में ट्रिगर नहीं होगा. अगर कोई दूसरा एक्सटेंशन है, तो runtime.onMessageExternal इवेंट ट्रिगर होगा. ध्यान दें कि एक्सटेंशन, इस तरीके का इस्तेमाल करके कॉन्टेंट स्क्रिप्ट को मैसेज नहीं भेज सकते. कॉन्टेंट स्क्रिप्ट को मैसेज भेजने के लिए, tabs.sendMessage का इस्तेमाल करें.
पैरामीटर
- 
    extensionIdstring ज़रूरी नहीं है उस एक्सटेंशन का आईडी जिस पर मैसेज भेजना है. अगर इसे शामिल नहीं किया जाता है, तो मैसेज आपके एक्सटेंशन/ऐप्लिकेशन को भेजा जाएगा. अगर वेब मैसेजिंग के लिए, किसी वेब पेज से मैसेज भेजे जा रहे हैं, तो यह पैरामीटर ज़रूरी है. 
- 
    मैसेजकोई भेजा जाने वाला मैसेज. यह मैसेज, JSON में बदलने लायक ऑब्जेक्ट होना चाहिए. 
- 
    विकल्पobject ज़रूरी नहीं है - 
    includeTlsChannelIdबूलियन ज़रूरी नहीं है क्या टीएलएस चैनल आईडी को onMessageExternal में पास किया जाएगा. ऐसा उन प्रोसेस के लिए किया जाएगा जो कनेक्शन इवेंट को सुन रही हैं. 
 
- 
    
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं Chrome 99 या इसके बाद का वर्शनcallbackपैरामीटर ऐसा दिखता है:(response: any) => void - 
    जवाबकोई मैसेज के हैंडलर से भेजा गया JSON रिस्पॉन्स ऑब्जेक्ट. अगर एक्सटेंशन से कनेक्ट करते समय कोई गड़बड़ी होती है, तो कॉलबैक को बिना किसी आर्ग्युमेंट के कॉल किया जाएगा. साथ ही, runtime.lastErrorको गड़बड़ी के मैसेज पर सेट किया जाएगा.
 
- 
    
रिटर्न
- 
            Promise<any> Chrome 99 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
sendNativeMessage()
chrome.runtime.sendNativeMessage(
application: string,
message: object,
callback?: function,
): Promise<any>
किसी नेटिव ऐप्लिकेशन को एक मैसेज भेजें. इस तरीके के लिए, "nativeMessaging" अनुमति ज़रूरी है.
पैरामीटर
- 
    ऐप्लिकेशनस्ट्रिंग नेटिव मैसेजिंग होस्ट का नाम. 
- 
    मैसेजऑब्जेक्ट वह मैसेज जिसे नेटिव मैसेजिंग होस्ट को भेजा जाएगा. 
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं Chrome 99 या इसके बाद का वर्शनcallbackपैरामीटर ऐसा दिखता है:(response: any) => void - 
    जवाबकोई नेटिव मैसेजिंग होस्ट से भेजा गया जवाब. अगर नेटिव मैसेजिंग होस्ट से कनेक्ट करते समय कोई गड़बड़ी होती है, तो कॉलबैक को बिना किसी आर्ग्युमेंट के कॉल किया जाएगा. साथ ही, runtime.lastErrorको गड़बड़ी के मैसेज पर सेट किया जाएगा.
 
- 
    
रिटर्न
- 
            Promise<any> Chrome 99 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
setUninstallURL()
chrome.runtime.setUninstallURL(
url: string,
callback?: function,
): Promise<void>
इस कुकी का इस्तेमाल, ऐप्लिकेशन अनइंस्टॉल करने के बाद विज़िट किए जाने वाले यूआरएल को सेट करने के लिए किया जाता है. इसका इस्तेमाल सर्वर-साइड डेटा को साफ़ करने, आंकड़ों का विश्लेषण करने, और सर्वे लागू करने के लिए किया जा सकता है. ज़्यादा से ज़्यादा 1023 वर्ण.
पैरामीटर
- 
    urlस्ट्रिंग एक्सटेंशन को अनइंस्टॉल करने के बाद, यह यूआरएल खुलेगा. इस यूआरएल में http: या https: स्कीम होनी चाहिए. अनइंस्टॉल करने पर नया टैब न खोलने के लिए, खाली स्ट्रिंग सेट करें. 
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं Chrome 45 या इसके बाद के वर्शनcallbackपैरामीटर ऐसा दिखता है:() => void 
रिटर्न
- 
            Promise<void> Chrome 99 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
इवेंट
onBrowserUpdateAvailable
chrome.runtime.onBrowserUpdateAvailable.addListener(
callback: function,
)
कृपया runtime.onRestartRequired का इस्तेमाल करें.
यह इवेंट तब ट्रिगर होता है, जब Chrome का अपडेट उपलब्ध होता है. हालांकि, ब्राउज़र को रीस्टार्ट करने की ज़रूरत होने की वजह से, इसे तुरंत इंस्टॉल नहीं किया जाता.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन 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" अनुमति ज़रूरी है. यह सुविधा सिर्फ़ ChromeOS पर काम करती है.
onInstalled
chrome.runtime.onInstalled.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब एक्सटेंशन पहली बार इंस्टॉल किया जाता है, जब एक्सटेंशन को नए वर्शन में अपडेट किया जाता है, और जब Chrome को नए वर्शन में अपडेट किया जाता है.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन callbackपैरामीटर ऐसा दिखता है:(details: object) => void - 
    विवरणऑब्जेक्ट - 
    आईडीstring ज़रूरी नहीं है इससे, इंपोर्ट किए गए शेयर किए गए मॉड्यूल एक्सटेंशन का वह आईडी दिखता है जिसे अपडेट किया गया है. यह सिर्फ़ तब मौजूद होता है, जब 'reason' की वैल्यू 'shared_module_update' हो. 
- 
    previousVersionstring ज़रूरी नहीं है यह एक्सटेंशन के पिछले वर्शन के बारे में बताता है जिसे अभी-अभी अपडेट किया गया है. यह सिर्फ़ तब मौजूद होता है, जब 'reason' की वैल्यू 'update' होती है. 
- 
    इस इवेंट को भेजने की वजह. 
 
- 
    
 
- 
    
onMessage
chrome.runtime.onMessage.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब कोई मैसेज एक्सटेंशन प्रोसेस (runtime.sendMessage के ज़रिए) या कॉन्टेंट स्क्रिप्ट (tabs.sendMessage के ज़रिए) से भेजा जाता है.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन callbackपैरामीटर ऐसा दिखता है:(message: any, sender: MessageSender, sendResponse: function) => boolean | undefined - 
    मैसेजकोई 
- 
    भेजने वाला
- 
    sendResponseफ़ंक्शन sendResponseपैरामीटर ऐसा दिखता है:() => void 
 - 
            returnsboolean | undefined 
 
- 
    
onMessageExternal
chrome.runtime.onMessageExternal.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब किसी दूसरे एक्सटेंशन से मैसेज भेजा जाता है (runtime.sendMessage के ज़रिए). इसका इस्तेमाल कॉन्टेंट स्क्रिप्ट में नहीं किया जा सकता.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन callbackपैरामीटर ऐसा दिखता है:(message: any, sender: MessageSender, sendResponse: function) => boolean | undefined - 
    मैसेजकोई 
- 
    भेजने वाला
- 
    sendResponseफ़ंक्शन sendResponseपैरामीटर ऐसा दिखता है:() => void 
 - 
            returnsboolean | undefined 
 
- 
    
onRestartRequired
chrome.runtime.onRestartRequired.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब किसी ऐप्लिकेशन या उसे चलाने वाले डिवाइस को रीस्टार्ट करने की ज़रूरत होती है. ऐप्लिकेशन को अपनी सभी विंडो बंद कर देनी चाहिए, ताकि उसे फिर से चालू किया जा सके. अगर ऐप्लिकेशन कुछ नहीं करता है, तो 24 घंटे का ग्रेस पीरियड खत्म होने के बाद, उसे रीस्टार्ट करना ज़रूरी होगा. फ़िलहाल, यह इवेंट सिर्फ़ Chrome OS के कियॉस्क ऐप्लिकेशन के लिए ट्रिगर होता है.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन callbackपैरामीटर ऐसा दिखता है:(reason: OnRestartRequiredReason) => void 
onStartup
chrome.runtime.onStartup.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब इस एक्सटेंशन को इंस्टॉल करने वाली कोई प्रोफ़ाइल पहली बार शुरू होती है. गुप्त प्रोफ़ाइल शुरू होने पर यह इवेंट ट्रिगर नहीं होता है. भले ही, यह एक्सटेंशन 'स्प्लिट' गुप्त मोड में काम कर रहा हो.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन callbackपैरामीटर ऐसा दिखता है:() => void 
onSuspend
chrome.runtime.onSuspend.addListener(
callback: function,
)
यह कुकी, इवेंट पेज को अनलोड करने से ठीक पहले भेजी जाती है. इससे एक्सटेंशन को कुछ सुधार करने का मौका मिलता है. ध्यान दें कि पेज अनलोड हो रहा है. इसलिए, इस इवेंट को हैंडल करते समय शुरू की गई किसी भी एसिंक्रोनस कार्रवाई के पूरा होने की गारंटी नहीं है. अगर इवेंट पेज के अनलोड होने से पहले उस पर ज़्यादा गतिविधि होती है, तो onSuspendCanceled इवेंट भेजा जाएगा. साथ ही, पेज अनलोड नहीं होगा.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन callbackपैरामीटर ऐसा दिखता है:() => void 
onSuspendCanceled
chrome.runtime.onSuspendCanceled.addListener(
callback: function,
)
onSuspend के बाद भेजा जाता है. इससे पता चलता है कि ऐप्लिकेशन को अनलोड नहीं किया जाएगा.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन callbackपैरामीटर ऐसा दिखता है:() => void 
onUpdateAvailable
chrome.runtime.onUpdateAvailable.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब कोई अपडेट उपलब्ध होता है, लेकिन उसे तुरंत इंस्टॉल नहीं किया जाता है. ऐसा इसलिए होता है, क्योंकि ऐप्लिकेशन फ़िलहाल चल रहा होता है. अगर आपने कुछ नहीं किया, तो अगली बार बैकग्राउंड पेज के अनलोड होने पर अपडेट इंस्टॉल हो जाएगा. अगर आपको इसे तुरंत इंस्टॉल करना है, तो chrome.runtime.reload() को साफ़ तौर पर कॉल करें. अगर आपका एक्सटेंशन, लगातार काम करने वाले बैकग्राउंड पेज का इस्तेमाल कर रहा है, तो बैकग्राउंड पेज कभी अनलोड नहीं होता. इसलिए, जब तक इस इवेंट के जवाब में chrome.runtime.reload() को मैन्युअल तरीके से कॉल नहीं किया जाता, तब तक अपडेट इंस्टॉल नहीं होगा. यह अपडेट, Chrome के अगली बार रीस्टार्ट होने पर इंस्टॉल होगा. अगर कोई हैंडलर इस इवेंट को नहीं सुन रहा है और आपके एक्सटेंशन में हमेशा चालू रहने वाला बैकग्राउंड पेज है, तो यह इस तरह काम करता है जैसे इस इवेंट के जवाब में chrome.runtime.reload() को कॉल किया गया हो.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन callbackपैरामीटर ऐसा दिखता है:(details: object) => void - 
    विवरणऑब्जेक्ट - 
    वर्शनस्ट्रिंग उपलब्ध अपडेट का वर्शन नंबर. 
 
- 
    
 
-