chrome.runtime

refresh date: 2026-09-25 robots: noindex

ब्यौरा

सर्विस वर्कर को वापस पाने, मेनिफ़ेस्ट के बारे में जानकारी देने, और एक्सटेंशन के लाइफ़साइकल में इवेंट को सुनने और उनका जवाब देने के लिए, chrome.runtime एपीआई का इस्तेमाल करें. इस एपीआई का इस्तेमाल करके, यूआरएल के रिलेटिव पाथ को पूरी तरह से मान्य यूआरएल में भी बदला जा सकता है.

खास जानकारी

रनटाइम एपीआई, कई तरह के फ़ंक्शन के साथ काम करने के तरीके उपलब्ध कराता है. इनका इस्तेमाल आपके एक्सटेंशन कर सकते हैं:

मैसेज पास करना
आपका एक्सटेंशन, अपने एक्सटेंशन के अलग-अलग कॉन्टेक्स्ट के साथ-साथ अन्य एक्सटेंशन के साथ भी कम्यूनिकेट कर सकता है. इसके लिए, इन तरीकों और इवेंट का इस्तेमाल किया जा सकता है: 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');
  }
});

एक्सटेंशन के उदाहरण

रनटाइम एपीआई के ज़्यादा उदाहरणों के लिए, Manifest V3 - वेब पर ऐक्सेस किए जा सकने वाले संसाधनों का डेमो देखें.

टाइप

ContextFilter

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

एक्सटेंशन के कुछ कॉन्टेक्स्ट से मैच करने वाला फ़िल्टर. मैच करने वाले कॉन्टेक्स्ट, तय किए गए सभी फ़िल्टर से मैच होने चाहिए. अगर कोई फ़िल्टर तय नहीं किया गया है, तो वह उपलब्ध सभी कॉन्टेक्स्ट से मैच होता है. इसलिए, `{}` का फ़िल्टर सभी उपलब्ध कॉन्टेक्स्ट से मैच करेगा.

प्रॉपर्टी

  • contextIds

    string[] ज़रूरी नहीं

  • contextTypes

    ContextType[] ज़रूरी नहीं

  • documentIds

    string[] ज़रूरी नहीं

  • documentOrigins

    string[] ज़रूरी नहीं

  • documentUrls

    string[] ज़रूरी नहीं

  • frameIds

    number[] ज़रूरी नहीं

  • गुप्त मोड

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

  • tabIds

    number[] ज़रूरी नहीं

  • windowIds

    number[] ज़रूरी नहीं

ContextType

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

Enum

"TAB"
कॉन्टेक्स्ट टाइप को टैब के तौर पर तय करता है

"POPUP"
कॉन्टेक्स्ट टाइप को एक्सटेंशन पॉप-अप विंडो के तौर पर तय करता है

"BACKGROUND"
इससे कॉन्टेक्स्ट टाइप को सर्विस वर्कर के तौर पर तय किया जाता है.

"OFFSCREEN_DOCUMENT"
कॉन्टेक्स्ट टाइप को ऑफ़स्क्रीन दस्तावेज़ के तौर पर तय करता है.

"SIDE_PANEL"
इससे कॉन्टेक्स्ट टाइप को साइड पैनल के तौर पर सेट किया जाता है.

"DEVELOPER_TOOLS"
इससे कॉन्टेक्स्ट टाइप के बारे में पता चलता है, जैसे कि डेवलपर टूल.

ExtensionContext

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

एक्सटेंशन के कॉन्टेंट को होस्ट करने वाला कॉन्टेक्स्ट.

प्रॉपर्टी

  • contextId

    स्ट्रिंग

    इस कॉन्टेक्स्ट के लिए यूनीक आइडेंटिफ़ायर

  • contextType

    यह किस तरह का कॉन्टेक्स्ट है.

  • documentId

    string ज़रूरी नहीं

    इस कॉन्टेक्स्ट से जुड़े दस्तावेज़ के लिए यूयूआईडी. अगर यह कॉन्टेक्स्ट किसी दस्तावेज़ में होस्ट नहीं किया गया है, तो यह तय नहीं किया गया है.

  • documentOrigin

    string ज़रूरी नहीं

    इस कॉन्टेक्स्ट से जुड़े दस्तावेज़ का ऑरिजिन. अगर कॉन्टेक्स्ट को किसी दस्तावेज़ में होस्ट नहीं किया गया है, तो यह तय नहीं किया गया है.

  • documentUrl

    string ज़रूरी नहीं

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

  • frameId

    संख्या

    इस कॉन्टेक्स्ट के लिए फ़्रेम का आईडी या -1, अगर यह कॉन्टेक्स्ट किसी फ़्रेम में होस्ट नहीं किया गया है.

  • गुप्त मोड

    बूलियन

    क्या कॉन्टेक्स्ट, गुप्त प्रोफ़ाइल से जुड़ा है.

  • tabId

    संख्या

    इस कॉन्टेक्स्ट के लिए टैब का आईडी या -1, अगर यह कॉन्टेक्स्ट किसी टैब में होस्ट नहीं किया गया है.

  • windowId

    संख्या

    इस कॉन्टेक्स्ट के लिए विंडो का आईडी या -1, अगर यह कॉन्टेक्स्ट किसी विंडो में होस्ट नहीं किया गया है.

ExtensionLoadDetails

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

एक्सटेंशन लोड होने के इवेंट के बारे में जानकारी.

प्रॉपर्टी

  • previousVersion

    string ज़रूरी नहीं

    इससे एक्सटेंशन के पिछले वर्शन का पता चलता है. यह सिर्फ़ तब मौजूद होता है, जब 'reason' की वैल्यू 'update' या 'enable' हो. अगर 'reason' की वैल्यू 'update' है, तो यह एक्सटेंशन का वह वर्शन है जो अपडेट होने से पहले था. अगर 'reason' की वैल्यू 'enable' है, तो यह एक्सटेंशन का मौजूदा वर्शन है.

  • इस इवेंट को भेजने की वजह.

MessageSender

मैसेज या अनुरोध भेजने वाली स्क्रिप्ट के कॉन्टेक्स्ट की जानकारी देने वाला ऑब्जेक्ट.

प्रॉपर्टी

  • documentId

    string ज़रूरी नहीं

    Chrome 106+

    उस दस्तावेज़ का यूयूआईडी जिसने कनेक्शन खोला है.

  • documentLifecycle

    string ज़रूरी नहीं

    Chrome 106+

    पोर्ट बनाते समय, कनेक्शन खोलने वाले दस्तावेज़ की लाइफ़साइकल. ध्यान दें कि पोर्ट बनाने के बाद, दस्तावेज़ के लाइफ़साइकल की स्थिति बदल सकती है.

  • frameId

    number ज़रूरी नहीं

    कनेक्शन खोलने वाला फ़्रेम. टॉप-लेवल फ़्रेम के लिए 0, चाइल्ड फ़्रेम के लिए पॉज़िटिव. यह सिर्फ़ तब सेट होगा, जब tab सेट होगा.

  • आईडी

    string ज़रूरी नहीं

    कनेक्शन खोलने वाले एक्सटेंशन का आईडी.

  • nativeApplication

    string ज़रूरी नहीं

    Chrome 74+

    कनेक्शन खोलने वाले नेटिव ऐप्लिकेशन का नाम, अगर कोई है.

  • origin

    string ज़रूरी नहीं

    Chrome 80+

    कनेक्शन खोलने वाले पेज या फ़्रेम का ऑरिजिन. यह यूआरएल प्रॉपर्टी (उदाहरण के लिए, about:blank) से अलग हो सकता है या अपारदर्शी हो सकता है (उदाहरण के लिए, सैंडबॉक्स किए गए iframe). इससे यह पता लगाने में मदद मिलती है कि कॉन्टेंट के सोर्स पर भरोसा किया जा सकता है या नहीं. ऐसा तब होता है, जब हम यूआरएल से तुरंत यह पता नहीं लगा पाते.

  • टैब

    टैब ज़रूरी नहीं है

    कनेक्शन खोलने वाला tabs.Tab, अगर कोई है. यह प्रॉपर्टी सिर्फ़ तब मौजूद होगी, जब कनेक्शन को किसी टैब (कॉन्टेंट स्क्रिप्ट के साथ) से खोला गया हो. साथ ही, सिर्फ़ तब मौजूद होगी, जब रिसीवर कोई एक्सटेंशन हो, न कि कोई ऐप्लिकेशन.

  • tlsChannelId

    string ज़रूरी नहीं

    कनेक्शन खोलने वाले पेज या फ़्रेम का टीएलएस चैनल आईडी. ऐसा तब होता है, जब एक्सटेंशन ने इसका अनुरोध किया हो और यह उपलब्ध हो.

  • url

    string ज़रूरी नहीं

    कनेक्शन खोलने वाले पेज या फ़्रेम का यूआरएल. अगर मैसेज भेजने वाला iframe में है, तो यह iframe का यूआरएल होगा, न कि उसे होस्ट करने वाले पेज का यूआरएल.

OnInstalledReason

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

इस इवेंट को भेजने की वजह.

Enum

"install"
इससे पता चलता है कि इवेंट की वजह, इंस्टॉलेशन है.

"update"
इससे पता चलता है कि इवेंट की वजह, एक्सटेंशन का अपडेट है.

"chrome_update"
इससे पता चलता है कि इवेंट की वजह Chrome अपडेट है.

"shared_module_update"
इससे पता चलता है कि इवेंट की वजह, शेयर किए गए मॉड्यूल का अपडेट है.

OnLoadedReason

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

इस इवेंट को भेजने की वजह.

Enum

"install"
एक्सटेंशन को हाल ही में इंस्टॉल किया गया था.

"update"
अपडेट के बाद, एक्सटेंशन को फिर से लोड किया गया.

"browser_update"
ब्राउज़र को नए वर्शन पर अपडेट किया गया.

"enable"
एक्सटेंशन को बंद होने के बाद फिर से चालू किया गया.

"startup"
ब्राउज़र के स्टार्टअप के दौरान एक्सटेंशन लोड हो रहा है.

"reload"
एक्सटेंशन को फिर से लोड किया गया (उदाहरण के लिए, chrome.runtime.reload() के ज़रिए या उपयोगकर्ता ने एक्सटेंशन को मैन्युअल तरीके से फिर से लोड किया).

OnRestartRequiredReason

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

इवेंट को डिस्पैच करने की वजह. 'app_update' का इस्तेमाल तब किया जाता है, जब ऐप्लिकेशन को नए वर्शन में अपडेट करने की वजह से, उसे रीस्टार्ट करना ज़रूरी हो. 'os_update' का इस्तेमाल तब किया जाता है, जब ब्राउज़र/ओएस को नए वर्शन में अपडेट करने की वजह से, डिवाइस को रीस्टार्ट करना ज़रूरी हो. 'periodic' का इस्तेमाल तब किया जाता है, जब सिस्टम, एंटरप्राइज़ की नीति में सेट किए गए अपटाइम से ज़्यादा समय तक चलता है.

Enum

"app_update"
इससे पता चलता है कि ऐप्लिकेशन को अपडेट करने की वजह से इवेंट ट्रिगर हुआ है.

"os_update"
इससे पता चलता है कि इवेंट की वजह, ऑपरेटिंग सिस्टम का अपडेट है.

"periodic"
इससे पता चलता है कि ऐप्लिकेशन को समय-समय पर रीस्टार्ट किया जाता है.

PlatformArch

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

मशीन के प्रोसेसर का आर्किटेक्चर.

Enum

"arm"
इससे प्रोसेसर आर्किटेक्चर को arm के तौर पर तय किया जाता है.

"arm64"
इससे प्रोसेसर आर्किटेक्चर को arm64 के तौर पर तय किया जाता है.

"x86-32"
प्रोसेसर आर्किटेक्चर को x86-32 के तौर पर तय करता है.

"x86-64"
इससे प्रोसेसर आर्किटेक्चर को x86-64 के तौर पर सेट किया जाता है.

"mips"
इससे प्रोसेसर आर्किटेक्चर को mips के तौर पर तय किया जाता है.

"mips64"
इससे प्रोसेसर आर्किटेक्चर के बारे में पता चलता है, जैसे कि mips64.

"riscv64"
इससे प्रोसेसर आर्किटेक्चर के बारे में पता चलता है, जैसे कि riscv64.

PlatformInfo

मौजूदा प्लैटफ़ॉर्म के बारे में जानकारी देने वाला ऑब्जेक्ट.

प्रॉपर्टी

  • मशीन के प्रोसेसर का आर्किटेक्चर.

  • nacl_arch

    PlatformNaclArch ज़रूरी नहीं

    Chrome 149 के बाद से इस्तेमाल नहीं किया जा सकता

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

    नेटिव क्लाइंट आर्किटेक्चर. यह कुछ प्लैटफ़ॉर्म पर आर्किटेक्चर से अलग हो सकता है.

  • वह ऑपरेटिंग सिस्टम जिस पर Chrome चल रहा है.

PlatformNaclArch

Chrome 44+ Chrome 149 से बंद कर दिया गया है

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

नेटिव क्लाइंट आर्किटेक्चर. यह कुछ प्लैटफ़ॉर्म पर आर्किटेक्चर से अलग हो सकता है.

Enum

"arm"
नेटिव क्लाइंट आर्किटेक्चर को arm के तौर पर तय करता है.

"x86-32"
नेटिव क्लाइंट आर्किटेक्चर को x86-32 के तौर पर तय करता है.

"x86-64"
नेटिव क्लाइंट आर्किटेक्चर को x86-64 के तौर पर तय करता है.

"mips"
यह नेटिव क्लाइंट आर्किटेक्चर को mips के तौर पर तय करता है.

"mips64"
यह नेटिव क्लाइंट आर्किटेक्चर को mips64 के तौर पर तय करता है.

PlatformOs

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

वह ऑपरेटिंग सिस्टम जिस पर Chrome चल रहा है.

Enum

"mac"
इससे MacOS ऑपरेटिंग सिस्टम के बारे में पता चलता है.

"win"
इससे Windows ऑपरेटिंग सिस्टम के बारे में पता चलता है.

"android"
इससे Android ऑपरेटिंग सिस्टम के बारे में पता चलता है.

"cros"
इससे Chrome ऑपरेटिंग सिस्टम के बारे में पता चलता है.

"linux"
इससे Linux ऑपरेटिंग सिस्टम के बारे में पता चलता है.

"openbsd"
इससे OpenBSD ऑपरेटिंग सिस्टम के बारे में पता चलता है.

Port

एक ऐसा ऑब्जेक्ट जो अन्य पेजों के साथ दोतरफ़ा कम्यूनिकेशन की अनुमति देता है. ज़्यादा जानकारी के लिए, लंबे समय तक बने रहने वाले कनेक्शन देखें.

प्रॉपर्टी

  • नाम

    स्ट्रिंग

    पोर्ट का नाम, जैसा कि runtime.connect के कॉल में बताया गया है.

  • onDisconnect

    Event<functionvoidvoid>

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

    onDisconnect.addListener फ़ंक्शन इस तरह दिखता है:

    (callback: function) => {...}

    • कॉलबैक

      फ़ंक्शन

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

      (port: Port) => void

  • onMessage

    Event<functionvoidvoid>

    यह इवेंट तब ट्रिगर होता है, जब पोर्ट के दूसरे सिरे से postMessage को कॉल किया जाता है.

    onMessage.addListener फ़ंक्शन इस तरह दिखता है:

    (callback: function) => {...}

    • कॉलबैक

      फ़ंक्शन

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

      (message: any, port: Port) => void

  • ईमेल भेजने वाला व्यक्ति

    MessageSender ज़रूरी नहीं

    यह प्रॉपर्टी सिर्फ़ उन पोर्ट पर मौजूद होगी जिन्हें onConnect / onConnectExternal / onConnectNative लिसनर को पास किया गया है.

  • डिसकनेक्ट करें

    void

    पोर्ट को तुरंत डिसकनेक्ट करें. पहले से डिसकनेक्ट किए गए पोर्ट पर disconnect() को कॉल करने से कोई असर नहीं पड़ता. पोर्ट डिसकनेक्ट होने पर, इस पोर्ट पर कोई नया इवेंट नहीं भेजा जाएगा.

    disconnect फ़ंक्शन इस तरह दिखता है:

    () => {...}

  • postMessage

    void

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

    postMessage फ़ंक्शन इस तरह दिखता है:

    (message: any) => {...}

    • मैसेज

      कोई

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

      भेजा जाने वाला मैसेज. इस ऑब्जेक्ट को JSON में बदला जा सकता है.

RequestUpdateCheckStatus

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

अपडेट की जांच का नतीजा.

Enum

"throttled"
इससे पता चलता है कि स्टेटस की जांच को थ्रॉटल किया गया है. ऐसा तब हो सकता है, जब कम समय में कई बार जांच की गई हो.

"no_update"
इससे पता चलता है कि इंस्टॉल करने के लिए कोई अपडेट उपलब्ध नहीं है.

"update_available"
इससे पता चलता है कि इंस्टॉल करने के लिए कोई अपडेट उपलब्ध है.

प्रॉपर्टी

id

एक्सटेंशन/ऐप्लिकेशन का आईडी.

टाइप

स्ट्रिंग

lastError

अगर एपीआई फ़ंक्शन को कॉल करने में कोई गड़बड़ी होती है, तो गड़बड़ी का मैसेज दिखता है. ऐसा न होने पर, गड़बड़ी का मैसेज नहीं दिखता. इसे सिर्फ़ उस फ़ंक्शन के कॉलबैक के दायरे में तय किया जाता है. अगर कोई गड़बड़ी होती है, लेकिन कॉलबैक में runtime.lastError को ऐक्सेस नहीं किया जाता है, तो कंसोल में एक मैसेज लॉग किया जाता है. इसमें गड़बड़ी पैदा करने वाले एपीआई फ़ंक्शन की सूची होती है. प्रॉमिस दिखाने वाले एपीआई फ़ंक्शन, इस प्रॉपर्टी को सेट नहीं करते.

टाइप

ऑब्जेक्ट

प्रॉपर्टी

  • मैसेज

    string ज़रूरी नहीं

    हुई गड़बड़ी के बारे में जानकारी.

तरीके

connect()

chrome.runtime.connect(
  extensionId?: string,
  connectInfo?: object,
)
: Port

किसी एक्सटेंशन (जैसे कि बैकग्राउंड पेज) या अन्य एक्सटेंशन/ऐप्लिकेशन में लिसनर को कनेक्ट करने की कोशिश करता है. यह कॉन्टेंट स्क्रिप्ट के लिए मददगार है. इससे कॉन्टेंट स्क्रिप्ट को उनकी एक्सटेंशन प्रोसेस, ऐप्लिकेशन/एक्सटेंशन के बीच होने वाली बातचीत, और वेब मैसेजिंग से कनेक्ट किया जा सकता है. ध्यान दें कि यह कॉन्टेंट स्क्रिप्ट में मौजूद किसी भी लिसनर से कनेक्ट नहीं होता. एक्सटेंशन, tabs.connect की मदद से टैब में एम्बेड की गई कॉन्टेंट स्क्रिप्ट से कनेक्ट हो सकते हैं.

पैरामीटर

  • extensionId

    string ज़रूरी नहीं

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

  • connectInfo

    object ज़रूरी नहीं

    • includeTlsChannelId

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

      क्या कनेक्शन इवेंट को सुनने वाली प्रोसेस के लिए, टीएलएस चैनल आईडी को onConnectExternal में पास किया जाएगा.

    • नाम

      string ज़रूरी नहीं

      इसे onConnect में पास किया जाएगा, ताकि कनेक्शन इवेंट को सुनने वाली प्रोसेस को इसकी जानकारी मिल सके.

रिटर्न

  • वह पोर्ट जिसके ज़रिए मैसेज भेजे और पाए जा सकते हैं. अगर एक्सटेंशन मौजूद नहीं है, तो पोर्ट का onDisconnect इवेंट ट्रिगर होता है.

connectNative()

chrome.runtime.connectNative(
  application: string,
)
: Port

होस्ट मशीन में मौजूद नेटिव ऐप्लिकेशन से कनेक्ट करता है. इस तरीके के लिए, "nativeMessaging" अनुमति ज़रूरी है. ज़्यादा जानकारी के लिए, नेटिव मैसेजिंग देखें.

पैरामीटर

  • ऐप्लिकेशन

    स्ट्रिंग

    कनेक्ट करने के लिए, रजिस्टर किए गए ऐप्लिकेशन का नाम.

रिटर्न

  • वह पोर्ट जिसके ज़रिए ऐप्लिकेशन से मैसेज भेजे और पाए जा सकते हैं

getBackgroundPage()

Promise सिर्फ़ फ़ोरग्राउंड Chrome 133 के बाद से बंद कर दिया गया है
chrome.runtime.getBackgroundPage(
  callback?: function,
)
: Promise<Window | undefined>

MV3 एक्सटेंशन में बैकग्राउंड पेज मौजूद नहीं होते.

मौजूदा एक्सटेंशन/ऐप्लिकेशन में चल रहे बैकग्राउंड पेज के लिए, JavaScript 'विंडो' ऑब्जेक्ट को वापस लाता है. अगर बैकग्राउंड पेज कोई इवेंट पेज है, तो सिस्टम यह पक्का करेगा कि कॉलबैक को कॉल करने से पहले, उसे लोड कर लिया जाए. अगर कोई बैकग्राउंड पेज नहीं है, तो गड़बड़ी का मैसेज सेट किया जाता है.

पैरामीटर

  • कॉलबैक

    function ज़रूरी नहीं

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

    (backgroundPage?: Window) => void

    • backgroundPage

      विंडो ज़रूरी नहीं है

      बैकग्राउंड पेज के लिए JavaScript 'window' ऑब्जेक्ट.

रिटर्न

  • वादा<खिड़की | अपरिभाषित>

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

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

getManifest()

chrome.runtime.getManifest(): object

मेनिफ़ेस्ट से ऐप्लिकेशन या एक्सटेंशन के बारे में जानकारी दिखाता है. रिस्पॉन्स के तौर पर मिला ऑब्जेक्ट, पूरी मेनिफ़ेस्ट फ़ाइल का सीरियलाइज़ेशन होता है.

रिटर्न

  • ऑब्जेक्ट

    मेनिफ़ेस्ट की जानकारी.

getPackageDirectoryEntry()

Promise सिर्फ़ फ़ोरग्राउंड
chrome.runtime.getPackageDirectoryEntry(
  callback?: function,
)
: Promise<DirectoryEntry>

यह पैकेज डायरेक्ट्री के लिए DirectoryEntry दिखाता है.

पैरामीटर

  • कॉलबैक

    function ज़रूरी नहीं

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

    (directoryEntry: DirectoryEntry) => void

    • directoryEntry

      DirectoryEntry

रिटर्न

  • वादा<डायरेक्टरीएंट्री>

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

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

getPlatformInfo()

वादा
chrome.runtime.getPlatformInfo(
  callback?: function,
)
: Promise<PlatformInfo>

मौजूदा प्लैटफ़ॉर्म के बारे में जानकारी दिखाता है.

पैरामीटर

  • कॉलबैक

    function ज़रूरी नहीं

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

    (platformInfo: PlatformInfo) => void

रिटर्न

  • Promise<PlatformInfo>

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

    प्रॉमिस, जो मौजूदा प्लैटफ़ॉर्म की जानकारी के साथ रिज़ॉल्व होता है.

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

getURL()

chrome.runtime.getURL(
  path: string,
)
: string

यह किसी ऐप्लिकेशन/एक्सटेंशन की इंस्टॉल डायरेक्ट्री में मौजूद रिलेटिव पाथ को पूरी तरह से मान्य यूआरएल में बदलता है.

पैरामीटर

  • पाथ

    स्ट्रिंग

    किसी ऐप्लिकेशन/एक्सटेंशन में मौजूद संसाधन का पाथ, जो उसकी इंस्टॉल डायरेक्ट्री के हिसाब से तय होता है.

रिटर्न

  • स्ट्रिंग

    संसाधन का पूरी तरह से मान्य यूआरएल.

getVersion()

Chrome 143 या इसके बाद का वर्शन
chrome.runtime.getVersion(): string

मेनिफ़ेस्ट में बताए गए एक्सटेंशन का वर्शन दिखाता है.

रिटर्न

  • स्ट्रिंग

    एक्सटेंशन का वर्शन.

openOptionsPage()

वादा
chrome.runtime.openOptionsPage(
  callback?: function,
)
: Promise<void>

अगर हो सके, तो अपने एक्सटेंशन के विकल्पों वाला पेज खोलें.

यह इस बात पर निर्भर करता है कि आपके मेनिफ़ेस्ट की options_ui या options_page कुंजी क्या है या उस समय Chrome किस कुंजी के साथ काम करता है. उदाहरण के लिए, पेज को नए टैब में, chrome://extensions में, किसी ऐप्लिकेशन में खोला जा सकता है या यह सिर्फ़ खुले हुए विकल्प पेज पर फ़ोकस कर सकता है. इससे कॉलर पेज कभी भी फिर से लोड नहीं होगा.

अगर आपका एक्सटेंशन, विकल्पों वाला पेज नहीं दिखाता है या Chrome किसी अन्य वजह से ऐसा पेज नहीं बना पाता है, तो कॉलबैक lastError सेट कर देगा.

पैरामीटर

  • कॉलबैक

    function ज़रूरी नहीं

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

    () => void

रिटर्न

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

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

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

reload()

chrome.runtime.reload(): void

ऐप्लिकेशन या एक्सटेंशन को फिर से लोड करता है. कीऑस्क मोड में यह तरीका काम नहीं करता. कीऑस्क मोड के लिए, chrome.runtime.restart() तरीके का इस्तेमाल करें.

requestUpdateCheck()

वादा
chrome.runtime.requestUpdateCheck(
  callback?: function,
)
: Promise<object>

इस ऐप्लिकेशन/एक्सटेंशन के लिए, तुरंत अपडेट की जांच करने का अनुरोध करता है.

अहम जानकारी: ज़्यादातर एक्सटेंशन/ऐप्लिकेशन को इस तरीके का इस्तेमाल नहीं करना चाहिए. इसकी वजह यह है कि Chrome पहले से ही हर कुछ घंटों में अपने-आप जांच करता है. साथ ही, requestUpdateCheck को कॉल किए बिना भी runtime.onUpdateAvailable इवेंट को सुना जा सकता है.

इस तरीके को सिर्फ़ कुछ मामलों में ही कॉल किया जाना चाहिए. जैसे, अगर आपका एक्सटेंशन किसी बैकएंड सेवा से इंटरैक्ट करता है और बैकएंड सेवा को पता चलता है कि क्लाइंट एक्सटेंशन का वर्शन बहुत पुराना है और आपको उपयोगकर्ता को अपडेट करने के लिए कहना है. requestUpdateCheck के ज़्यादातर अन्य इस्तेमाल, जैसे कि बार-बार चलने वाले टाइमर के आधार पर बिना किसी शर्त के इसे कॉल करना, शायद क्लाइंट, नेटवर्क, और सर्वर के संसाधनों को बर्बाद करते हैं.

ध्यान दें: कॉलबैक के साथ कॉल किए जाने पर, यह फ़ंक्शन कोई ऑब्जेक्ट दिखाने के बजाय, कॉलबैक को पास किए गए अलग-अलग आर्ग्युमेंट के तौर पर दो प्रॉपर्टी दिखाएगा.

पैरामीटर

  • कॉलबैक

    function ज़रूरी नहीं

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

    (result: object) => void

    • नतीजा

      ऑब्जेक्ट

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

      RequestUpdateCheckResult ऑब्जेक्ट, जिसमें अपडेट की जांच की स्थिति और नतीजे की जानकारी होती है. यह जानकारी तब दिखती है, जब कोई अपडेट उपलब्ध होता है

      • स्थिति

        अपडेट की जांच का नतीजा.

      • वर्शन

        string ज़रूरी नहीं

        अगर कोई अपडेट उपलब्ध है, तो इसमें उपलब्ध अपडेट का वर्शन शामिल होता है.

रिटर्न

  • Promise<object>

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

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

restart()

chrome.runtime.restart(): void

जब ऐप्लिकेशन कीऑस्क मोड में चल रहा हो, तब ChromeOS डिवाइस को रीस्टार्ट करें. ऐसा न करने पर, यह काम नहीं करेगा.

restartAfterDelay()

Promise Chrome 53 और इसके बाद के वर्शन
chrome.runtime.restartAfterDelay(
  seconds: number,
  callback?: function,
)
: Promise<void>

जब ऐप्लिकेशन कीऑस्क मोड में चल रहा हो, तो दिए गए सेकंड के बाद ChromeOS डिवाइस को रीस्टार्ट करें. अगर समय खत्म होने से पहले फिर से कॉल किया जाता है, तो रीबूट होने में देरी होगी. अगर -1 वैल्यू के साथ कॉल किया जाता है, तो रीबूट रद्द हो जाएगा. यह कीऑस्क मोड के अलावा किसी अन्य मोड में काम नहीं करता. इस एपीआई को कॉल करने वाले पहले एक्सटेंशन को ही इसे बार-बार कॉल करने की अनुमति है.

पैरामीटर

  • सेकंड

    संख्या

    डिवाइस को रीस्टार्ट करने से पहले, सेकंड में इंतज़ार करने का समय या शेड्यूल किए गए रीस्टार्ट को रद्द करने के लिए -1.

  • कॉलबैक

    function ज़रूरी नहीं

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

    () => void

रिटर्न

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

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

    रीस्टार्ट करने के अनुरोध को फिर से शेड्यूल करने पर, Promise रिज़ॉल्व हो जाता है.

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

sendMessage()

वादा
chrome.runtime.sendMessage(
  extensionId?: string,
  message: any,
  options?: object,
  callback?: function,
)
: Promise<any>

आपके एक्सटेंशन या किसी दूसरे एक्सटेंशन/ऐप्लिकेशन में मौजूद इवेंट लिसनर को एक मैसेज भेजता है. यह runtime.connect की तरह ही है, लेकिन इसमें सिर्फ़ एक मैसेज भेजा जाता है. साथ ही, इसमें जवाब देने का विकल्प भी होता है. अगर आपके एक्सटेंशन पर भेजा जाता है, तो runtime.onMessage इवेंट आपके एक्सटेंशन के हर फ़्रेम में ट्रिगर होगा. हालांकि, भेजने वाले के फ़्रेम में ऐसा नहीं होगा. इसके अलावा, अगर कोई दूसरा एक्सटेंशन है, तो runtime.onMessageExternal इवेंट ट्रिगर होगा. ध्यान दें कि एक्सटेंशन, इस तरीके का इस्तेमाल करके कॉन्टेंट स्क्रिप्ट को मैसेज नहीं भेज सकते. कॉन्टेंट स्क्रिप्ट को मैसेज भेजने के लिए, tabs.sendMessage का इस्तेमाल करें.

पैरामीटर

  • extensionId

    string ज़रूरी नहीं

    उस एक्सटेंशन का आईडी जिसे मैसेज भेजना है. अगर इसे शामिल नहीं किया जाता है, तो मैसेज आपके एक्सटेंशन/ऐप्लिकेशन पर भेजा जाएगा. वेब मैसेजिंग के लिए, वेब पेज से मैसेज भेजते समय इसकी ज़रूरत होती है.

  • मैसेज

    कोई

    भेजा जाने वाला मैसेज. यह मैसेज, JSON-ifiable ऑब्जेक्ट होना चाहिए.

  • विकल्प

    object ज़रूरी नहीं

    • includeTlsChannelId

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

      कनेक्शन इवेंट को सुनने वाली प्रोसेस के लिए, टीएलएस चैनल आईडी को onMessageExternal में पास किया जाएगा या नहीं.

  • कॉलबैक

    function ज़रूरी नहीं

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

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

    (response: any) => void

    • जवाब

      कोई

      मैसेज के हैंडलर से भेजा गया JSON रिस्पॉन्स ऑब्जेक्ट. अगर एक्सटेंशन से कनेक्ट करते समय कोई गड़बड़ी होती है, तो कॉलबैक को बिना किसी आर्ग्युमेंट के कॉल किया जाएगा. साथ ही, runtime.lastError को गड़बड़ी के मैसेज पर सेट किया जाएगा.

रिटर्न

  • <any> प्रॉमिस

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

    Chrome 99 में, एक्सटेंशन के कॉन्टेक्स्ट के लिए प्रॉमिस की सुविधा जोड़ी गई थी. किसी वेब पेज से एक्सटेंशन के साथ कम्यूनिकेट करते समय, Chrome 118 से प्रॉमिस उपलब्ध हैं.

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

sendNativeMessage()

वादा
chrome.runtime.sendNativeMessage(
  application: string,
  message: object,
  callback?: function,
)
: Promise<any>

किसी नेटिव ऐप्लिकेशन को एक मैसेज भेजें. इस तरीके के लिए, "nativeMessaging" अनुमति ज़रूरी है.

पैरामीटर

  • ऐप्लिकेशन

    स्ट्रिंग

    नेटिव मैसेजिंग होस्ट का नाम या टारगेट की जानकारी.

  • मैसेज

    ऑब्जेक्ट

    वह मैसेज जो नेटिव मैसेजिंग होस्ट को भेजा जाएगा.

  • कॉलबैक

    function ज़रूरी नहीं

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

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

    (response: any) => void

    • जवाब

      कोई

      नेटिव मैसेजिंग होस्ट से भेजा गया जवाब. अगर नेटिव मैसेजिंग होस्ट से कनेक्ट करते समय कोई गड़बड़ी होती है, तो कॉलबैक को बिना किसी आर्ग्युमेंट के कॉल किया जाएगा. साथ ही, runtime.lastError को गड़बड़ी के मैसेज पर सेट किया जाएगा.

रिटर्न

  • <any> प्रॉमिस

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

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

setUninstallURL()

वादा
chrome.runtime.setUninstallURL(
  url: string,
  callback?: function,
)
: Promise<void>

यह नीति, एक्सटेंशन को अनइंस्टॉल करने पर विज़िट किए जाने वाले यूआरएल को सेट करती है. इसका इस्तेमाल, सर्वर-साइड डेटा को हटाने, आंकड़ों का विश्लेषण करने, और सर्वे लागू करने के लिए किया जा सकता है. ज़्यादा से ज़्यादा 1023 वर्ण.

पैरामीटर

  • url

    स्ट्रिंग

    एक्सटेंशन को अनइंस्टॉल करने के बाद खोला जाने वाला यूआरएल. इस यूआरएल में http: या https: स्कीम होनी चाहिए. अनइंस्टॉल करने पर नया टैब न खोलने के लिए, खाली स्ट्रिंग सेट करें.

  • कॉलबैक

    function ज़रूरी नहीं

    Chrome 45+

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

    () => void

रिटर्न

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

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

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

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

इवेंट

onBrowserUpdateAvailable

अब काम नहीं करता
chrome.runtime.onBrowserUpdateAvailable.addListener(
  callback: function,
)

कृपया runtime.onRestartRequired का इस्तेमाल करें.

यह इवेंट तब ट्रिगर होता है, जब Chrome का कोई अपडेट उपलब्ध हो, लेकिन उसे तुरंत इंस्टॉल न किया गया हो. ऐसा इसलिए, क्योंकि अपडेट इंस्टॉल करने के लिए ब्राउज़र को रीस्टार्ट करना ज़रूरी होता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    () => void

onConnect

chrome.runtime.onConnect.addListener(
  callback: function,
)

यह तब ट्रिगर होता है, जब किसी एक्सटेंशन प्रोसेस या कॉन्टेंट स्क्रिप्ट (runtime.connect से) से कनेक्शन बनाया जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (port: Port) => void

onConnectExternal

chrome.runtime.onConnectExternal.addListener(
  callback: function,
)

यह तब ट्रिगर होता है, जब किसी दूसरे एक्सटेंशन (runtime.connect से) या बाहरी तौर पर कनेक्ट की जा सकने वाली वेबसाइट से कनेक्शन बनाया जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (port: Port) => void

onConnectNative

Chrome 76+
chrome.runtime.onConnectNative.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब किसी नेटिव ऐप्लिकेशन से कनेक्शन बनाया जाता है. इस इवेंट के लिए, "nativeMessaging" अनुमति ज़रूरी है. यह सुविधा सिर्फ़ ChromeOS पर काम करती है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (port: Port) => void

onEnabled

Chrome 155+
chrome.runtime.onEnabled.addListener(
  callback: function,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    () => void

onExtensionLoaded

Chrome 157 या इसके बाद का वर्शन
chrome.runtime.onExtensionLoaded.addListener(
  callback: function,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: ExtensionLoadDetails) => void

onInstalled

chrome.runtime.onInstalled.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब एक्सटेंशन को पहली बार इंस्टॉल किया जाता है, एक्सटेंशन को नए वर्शन में अपडेट किया जाता है, और Chrome को नए वर्शन में अपडेट किया जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • आईडी

        string ज़रूरी नहीं

        इससे, इंपोर्ट किए गए उस शेयर किए गए मॉड्यूल एक्सटेंशन का आईडी पता चलता है जिसे अपडेट किया गया है. यह सिर्फ़ तब मौजूद होता है, जब 'reason' की वैल्यू 'shared_module_update' हो.

      • previousVersion

        string ज़रूरी नहीं

        इससे एक्सटेंशन के पिछले वर्शन का पता चलता है, जिसे अभी-अभी अपडेट किया गया है. यह सिर्फ़ तब मौजूद होता है, जब 'reason' की वैल्यू 'update' हो.

      • इस इवेंट को भेजने की वजह.

onMessage

chrome.runtime.onMessage.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब runtime.sendMessage या tabs.sendMessage से कोई मैसेज भेजा जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (message: any, sender: MessageSender, sendResponse: function) => boolean | Promise<any> | undefined

    • मैसेज

      कोई

    • ईमेल भेजने वाला व्यक्ति
    • sendResponse

      फ़ंक्शन

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

      (response?: any) => void

      • जवाब

        ज़रूरी नहीं

        मैसेज भेजने वाले को जवाब देना.

    • returns

      boolean | Promise<any> | undefined

onMessageExternal

chrome.runtime.onMessageExternal.addListener(
  callback: function,
)

यह तब ट्रिगर होता है, जब किसी दूसरे एक्सटेंशन से मैसेज भेजा जाता है (runtime.sendMessage से). इसका इस्तेमाल कॉन्टेंट स्क्रिप्ट में नहीं किया जा सकता.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (message: any, sender: MessageSender, sendResponse: function) => boolean | Promise<any> | undefined

    • मैसेज

      कोई

    • ईमेल भेजने वाला व्यक्ति
    • sendResponse

      फ़ंक्शन

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

      (response?: any) => void

      • जवाब

        ज़रूरी नहीं

        मैसेज भेजने वाले को जवाब देना.

    • returns

      boolean | Promise<any> | undefined

onRestartRequired

chrome.runtime.onRestartRequired.addListener(
  callback: function,
)

यह तब ट्रिगर होता है, जब किसी ऐप्लिकेशन या उस डिवाइस को रीस्टार्ट करना ज़रूरी हो जिस पर वह ऐप्लिकेशन चल रहा है. ऐप्लिकेशन को अपनी सभी विंडो जल्द से जल्द बंद कर देनी चाहिए, ताकि रीस्टार्ट की प्रोसेस शुरू हो सके. अगर ऐप्लिकेशन कुछ नहीं करता है, तो 24 घंटे के ग्रेस पीरियड के बाद उसे रीस्टार्ट कर दिया जाएगा. फ़िलहाल, यह इवेंट सिर्फ़ Chrome OS कीऑस्क ऐप्लिकेशन के लिए ट्रिगर होता है.

पैरामीटर

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

    • विवरण

      ऑब्जेक्ट

      • वर्शन

        स्ट्रिंग

        उपलब्ध अपडेट का वर्शन नंबर.