chrome.runtime

ब्यौरा

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

इस एपीआई के ज़्यादातर सदस्यों को किसी भी अनुमति की ज़रूरत नहीं है. connectNative(), sendNativeMessage(), और onNativeConnect के लिए यह अनुमति ज़रूरी है.

यहां दिए गए उदाहरण में, मेनिफ़ेस्ट में "nativeMessaging" अनुमति का एलान करने का तरीका बताया गया है:

manifest.json:

{
  "name": "My extension",
  ...
  "permissions": [
    "nativeMessaging"
  ],
  ...
}

सिद्धांत और उनका इस्तेमाल

Runtime API की मदद से, आपके एक्सटेंशन के कई एरिया में काम करने के तरीके ये ऐप्लिकेशन इस्तेमाल कर सकते हैं:

मैसेज पास हो रहा है
आपका एक्सटेंशन इन तरीकों और इवेंट का इस्तेमाल करके आपके एक्सटेंशन में मौजूद अलग-अलग कॉन्टेक्स्ट और दूसरे एक्सटेंशन के साथ भी संपर्क कर सकता है: connect(), onConnect, onConnectExternal, sendMessage(), onMessage और onMessageExternal. इसके अतिरिक्त, आपका एक्सटेंशन इसका उपयोग करके उपयोगकर्ता के डिवाइस पर मूल ऐप्लिकेशन को संदेश भेज सकता है connectNative() और sendNativeMessage().
एक्सटेंशन और प्लैटफ़ॉर्म मेटाडेटा ऐक्सेस करना
इन तरीकों से, आपको एक्सटेंशन और प्लैटफ़ॉर्म. इस कैटगरी के तरीकों में ये शामिल हैं getManifest(), और getPlatformInfo().
एक्सटेंशन की लाइफ़साइकल और विकल्पों को मैनेज करना
इन प्रॉपर्टी की मदद से, एक्सटेंशन पर कुछ मेटा-ऑपरेशन किया जा सकता है. साथ ही, विकल्प वाला पेज दिखाया जा सकता है. इस कैटगरी के तरीकों और इवेंट में ये शामिल हैं onInstalled, onStartup openOptionsPage(), reload(), requestUpdateCheck() और setUninstallURL().
हेल्पर यूटिलिटी
ये तरीके उपयोगिता प्रदान करते हैं, जैसे आंतरिक संसाधन प्रतिनिधित्व का रूपांतरण बाहरी फ़ॉर्मैट के साथ काम करता है. इस कैटगरी के तरीकों में ये शामिल हैं getURL().
कीऑस्क मोड की सुविधाएं
ये तरीके सिर्फ़ ChromeOS पर उपलब्ध हैं. इनका इस्तेमाल मुख्य रूप से कीऑस्क लागू करने के लिए किया जाता है. इस कैटगरी के तरीकों में ये शामिल हैं restart() और restartAfterDelay()`.

पैक नहीं किए गए एक्सटेंशन का व्यवहार

जब पैक किए गए किसी एक्सटेंशन को फिर से लोड किया जाता है, तो इसे अपडेट माना जाता है. इसका मतलब है कि chrome.runtime.onInstalled इवेंट, "update" की वजह से ट्रिगर होगा. यह इसमें, एक्सटेंशन को chrome.runtime.reload() के साथ फिर से लोड किए जाने पर भी शामिल होता है.

उपयोग के उदाहरण

वेब पेज में इमेज जोड़ना

किसी वेब पेज को किसी दूसरे डोमेन पर होस्ट की गई ऐसेट को ऐक्सेस करने के लिए, संसाधन के पूरे यूआरएल की जानकारी देनी होगी (उदाहरण के लिए, <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);
});

service-worker.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

Chrome 114 और उसके बाद वाले वर्शन के लिए

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

प्रॉपर्टी

  • contextIds

    स्ट्रिंग[] ज़रूरी नहीं

  • contextTypes

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

  • documentIds

    स्ट्रिंग[] ज़रूरी नहीं

  • documentOrigins

    स्ट्रिंग[] ज़रूरी नहीं

  • documentUrls

    स्ट्रिंग[] ज़रूरी नहीं

  • frameIds

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

  • गुप्त मोड

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

  • tabIds

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

  • windowIds

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

ContextType

Chrome 114 और उसके बाद वाले वर्शन के लिए

Enum

"TAB"
संदर्भ के प्रकार को टैब के तौर पर बताता है

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

"BACKGROUND"
सेवा वर्कर के तौर पर संदर्भ का प्रकार बताता है.

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

"SIDE_CONFIG"
संदर्भ के टाइप को साइड पैनल के तौर पर बताता है.

ExtensionContext

Chrome 114 और उसके बाद वाले वर्शन के लिए

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

प्रॉपर्टी

  • contextId

    स्ट्रिंग

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

  • contextType

    इससे जुड़ा कॉन्टेक्स्ट.

  • documentId

    स्ट्रिंग ज़रूरी नहीं

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

  • documentOrigin

    स्ट्रिंग ज़रूरी नहीं

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

  • documentUrl

    स्ट्रिंग ज़रूरी नहीं

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

  • frameId

    संख्या

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

  • गुप्त मोड

    बूलियन

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

  • tabId

    संख्या

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

  • windowId

    संख्या

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

MessageSender

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

प्रॉपर्टी

  • documentId

    स्ट्रिंग ज़रूरी नहीं

    Chrome 106 और उसके बाद वाले वर्शन

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

  • documentLifecycle

    स्ट्रिंग ज़रूरी नहीं

    Chrome 106 और उसके बाद वाले वर्शन

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

  • frameId

    नंबर वैकल्पिक

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

  • आईडी

    स्ट्रिंग ज़रूरी नहीं

    कनेक्शन को खोलने वाले एक्सटेंशन का आईडी, अगर कोई है.

  • nativeApplication

    स्ट्रिंग ज़रूरी नहीं

    Chrome 74 और उसके बाद वाले वर्शन के लिए

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

  • origin

    स्ट्रिंग ज़रूरी नहीं

    Chrome 80 और उसके बाद के वर्शन

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

  • टैब

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

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

  • tlsChannelId

    स्ट्रिंग ज़रूरी नहीं

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

  • url

    स्ट्रिंग ज़रूरी नहीं

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

OnInstalledReason

Chrome 44 और उसके बाद वाले वर्शन के लिए

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

Enum

"install"
इंस्टॉलेशन के तौर पर इवेंट की वजह बताता है.

"update"
एक्सटेंशन अपडेट के रूप में इवेंट की वजह बताता है.

&quot;chrome_update&quot;
Chrome के अपडेट के तौर पर इवेंट की वजह बताता है.

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

OnRestartRequiredReason

Chrome 44 और उसके बाद वाले वर्शन के लिए

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

Enum

"app_update"
ऐप्लिकेशन के अपडेट के तौर पर इवेंट की वजह बताता है.

&quot;os_update&quot;
ऑपरेटिंग सिस्टम के अपडेट के तौर पर, इवेंट की वजह के बारे में बताता है.

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

PlatformArch

Chrome 44 और उसके बाद वाले वर्शन के लिए

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

Enum

"आर्म"
प्रोसेसर आर्किटेक्चर को आर्म के तौर पर बताता है.

"arm64"
प्रोसेसर आर्किटेक्चर को आर्म64 के तौर पर बताता है.

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

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

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

"mips64"
प्रोसेसर आर्किटेक्चर को mips64 के तौर पर बताता है.

PlatformInfo

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

प्रॉपर्टी

  • चाप

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

  • nacl_arch

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

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

PlatformNaclArch

Chrome 44 और उसके बाद वाले वर्शन के लिए

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

Enum

"आर्म"
नेटिव क्लाइंट आर्किटेक्चर को ग्रुप के तौर पर बताता है.

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

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

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

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

PlatformOs

Chrome 44 और उसके बाद वाले वर्शन के लिए

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

Enum

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

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

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

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

"linux"
Linux ऑपरेटिंग सिस्टम के बारे में जानकारी देता है.

&quot;openbsd&quot;
OpenBSD ऑपरेटिंग सिस्टम के बारे में बताता है.

"fachsia"
fuchsia ऑपरेटिंग सिस्टम के बारे में बताता है.

Port

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

प्रॉपर्टी

  • नाम

    स्ट्रिंग

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

  • onDisconnect

    इवेंट<फ़ंक्शनvoid>

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

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

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

    • कॉलबैक

      फ़ंक्शन

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

      (port: Port) => void

  • onMessage

    इवेंट<फ़ंक्शनvoid>

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

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

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

    • कॉलबैक

      फ़ंक्शन

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

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

  • भेजने वाला

    MessageSender ज़रूरी नहीं

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

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

    अमान्य

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

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

    () => {...}

  • postMessage

    अमान्य

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

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

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

    • मैसेज

      कोई

      Chrome 52 और उसके बाद वाले वर्शन के लिए

      भेजा जाने वाला मैसेज. यह ऑब्जेक्ट ऐसा होना चाहिए जिसका इस्तेमाल JSON किया जा सके.

RequestUpdateCheckStatus

Chrome 44 और उसके बाद वाले वर्शन के लिए

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

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 'विंडो' को वापस लाता है ऑब्जेक्ट है. अगर बैकग्राउंड पेज कोई इवेंट पेज है, तो सिस्टम यह पक्का करेगा कि कॉलबैक को कॉल करने से पहले, वह लोड हो गया हो. अगर कोई बैकग्राउंड पेज नहीं है, तो गड़बड़ी सेट हो जाती है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (backgroundPage?: Window) => void

    • backgroundPage

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

      JavaScript 'विंडो' ऑब्जेक्ट है.

रिटर्न

  • Promise&lt;Window | तय नहीं है>

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

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

getContexts()

प्रॉमिस Chrome 116 और उसके बाद वाले वर्शन के लिए MV3+
chrome.runtime.getContexts(
  filter: ContextFilter,
  callback?: function,
)

इस एक्सटेंशन से जुड़े ऐक्टिव कॉन्टेक्स्ट के बारे में जानकारी फ़ेच करता है

पैरामीटर

  • फ़िल्टर करें

    मिलते-जुलते कॉन्टेक्स्ट ढूंढने के लिए फ़िल्टर. कोई कॉन्टेक्स्ट तब मैच होता है, जब वह फ़िल्टर में बताए गए सभी फ़ील्ड से मेल खाता है. फ़िल्टर में तय नहीं किया गया कोई भी फ़ील्ड, सभी कॉन्टेक्स्ट से मेल खाता है.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (contexts: ExtensionContext[]) => void

    • कॉन्टेक्स्ट

      मिलते-जुलते कॉन्टेक्स्ट, अगर कोई हैं.

रिटर्न

  • Promise&lt;ExtensionContext[]&gt;

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

getManifest()

chrome.runtime.getManifest()

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

रिटर्न

  • ऑब्जेक्ट

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

getPackageDirectoryEntry()

प्रॉमिस सिर्फ़ फ़ोरग्राउंड
chrome.runtime.getPackageDirectoryEntry(
  callback?: function,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (directoryEntry: DirectoryEntry) => void

    • directoryEntry

      DirectoryEntry

रिटर्न

  • Promise&lt;DirectoryEntry&gt;

    Chrome 122 और उसके बाद वाले वर्शन के लिए

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

getPlatformInfo()

प्रॉमिस
chrome.runtime.getPlatformInfo(
  callback?: function,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (platformInfo: PlatformInfo) => void

रिटर्न

  • Promise&lt;PlatformInfo&gt;

    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

रिटर्न

  • प्रॉमिस<void>

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

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

reload()

chrome.runtime.reload()

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

requestUpdateCheck()

प्रॉमिस
chrome.runtime.requestUpdateCheck(
  callback?: function,
)

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

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

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (result: object) => void

    • नतीजा

      ऑब्जेक्ट

      Chrome 109 और उसके बाद वाले वर्शन

      अनुरोध के अपडेट की जांच के नतीजे वाला ऑब्जेक्ट, जिसमें अपडेट की जांच की स्थिति और अगर कोई अपडेट उपलब्ध है, तो नतीजे का कोई भी ब्यौरा होता है

      • स्थिति

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

      • वर्शन

        स्ट्रिंग ज़रूरी नहीं

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

रिटर्न

  • Promise&lt;object&gt;

    Chrome 109 और उसके बाद वाले वर्शन

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

restart()

chrome.runtime.restart()

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

restartAfterDelay()

प्रॉमिस Chrome 53 और उसके बाद वाले वर्शन के लिए
chrome.runtime.restartAfterDelay(
  seconds: number,
  callback?: function,
)

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

पैरामीटर

  • सेकंड

    संख्या

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

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    () => void

रिटर्न

  • प्रॉमिस<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 को गड़बड़ी के मैसेज पर सेट कर दिया जाएगा.

रिटर्न

  • वादा करें<किसी भी>

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

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

sendNativeMessage()

प्रॉमिस
chrome.runtime.sendNativeMessage(
  application: string,
  message: object,
  callback?: function,
)

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

पैरामीटर

  • ऐप्लिकेशन

    स्ट्रिंग

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

  • मैसेज

    ऑब्जेक्ट

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

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

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

    (response: any) => void

    • जवाब

      कोई

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

रिटर्न

  • वादा करें<किसी भी>

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

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

setUninstallURL()

प्रॉमिस
chrome.runtime.setUninstallURL(
  url: string,
  callback?: function,
)

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

पैरामीटर

  • url

    स्ट्रिंग

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

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    Chrome 45+

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

    () => void

रिटर्न

  • प्रॉमिस<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 की मदद से) से बनाया जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    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" अनुमति की ज़रूरत है. यह सिर्फ़ Chrome OS पर काम करता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (port: Port) => void

onInstalled

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • आईडी

        स्ट्रिंग ज़रूरी नहीं

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

      • previousVersion

        स्ट्रिंग ज़रूरी नहीं

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

      • कारण

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

onMessage

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

यह तब ट्रिगर होता है, जब मैसेज को runtime.sendMessage के ज़रिए) एक्सटेंशन प्रोसेस से या tabs.sendMessage के ज़रिए कॉन्टेंट स्क्रिप्ट से भेजा जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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

    • मैसेज

      कोई

    • भेजने वाला
    • sendResponse

      फ़ंक्शन

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

      () => void

    • returns

      boolean | तय नहीं है

onMessageExternal

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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

    • मैसेज

      कोई

    • भेजने वाला
    • sendResponse

      फ़ंक्शन

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

      () => void

    • returns

      boolean | तय नहीं है

onRestartRequired

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

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

पैरामीटर

onStartup

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

यह एक्सटेंशन पहली बार इंस्टॉल होने वाली किसी प्रोफ़ाइल के चालू होने पर ट्रिगर होता है. यह इवेंट किसी गुप्त प्रोफ़ाइल के शुरू होने पर ट्रिगर नहीं होता, भले ही यह एक्सटेंशन 'split' में काम कर रहा हो गुप्त मोड.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    () => void

onSuspend

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

इसे अनलोड होने से ठीक पहले इवेंट पेज पर भेजा जाता है. इससे एक्सटेंशन को स्टोरेज साफ़ करने का मौका मिलता है. ध्यान दें कि पेज अनलोड हो रहा है. इसलिए, इस इवेंट को हैंडल करते समय शुरू हुई कोई भी एसिंक्रोनस कार्रवाई पूरी होने की गारंटी नहीं है. अगर इवेंट पेज के अनलोड होने से पहले, उस पर और गतिविधि होती है, तो onनिलंबित इवेंट भेजा जाएगा और पेज को अनलोड नहीं किया जाएगा.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    () => void

onSuspendCanceled

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

यह बताने के लिए कि ऐप्लिकेशन को अनलोड नहीं किया जाएगा, onनिलंबित के बाद भेजा गया है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    () => void

onUpdateAvailable

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • वर्शन

        स्ट्रिंग

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

onUserScriptConnect

Chrome 115 और उसके बाद वाले वर्शन संगीत वीडियो 3+
chrome.runtime.onUserScriptConnect.addListener(
  callback: function,
)

इस एक्सटेंशन की उपयोगकर्ता स्क्रिप्ट से कनेक्शन बनाने पर सक्रिय होता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (port: Port) => void

onUserScriptMessage

Chrome 115 और उसके बाद वाले वर्शन संगीत वीडियो 3+
chrome.runtime.onUserScriptMessage.addListener(
  callback: function,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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

    • मैसेज

      कोई

    • भेजने वाला
    • sendResponse

      फ़ंक्शन

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

      () => void

    • returns

      boolean | तय नहीं है