chrome.runtime

ब्यौरा

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

खास जानकारी

रनटाइम एपीआई, आपके एक्सटेंशन के फ़ंक्शन के कई क्षेत्रों में मदद करने के तरीके उपलब्ध कराता है ये ऐप्लिकेशन इस्तेमाल कर सकते हैं:

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

अनुमतियां

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

मेनिफ़ेस्ट

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

manifest.json:

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

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

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

किसी दूसरे डोमेन पर होस्ट की गई ऐसेट को ऐक्सेस करने के लिए, वेब पेज को संसाधन का पूरा यूआरएल (उदाहरण के लिए, <img src="https://example.com/logo.png">) देना होगा. वेब पेज पर एक्सटेंशन ऐसेट शामिल करने के लिए भी यही बात लागू होती है. इन दोनों में दो अंतर हैं. पहला, एक्सटेंशन की एसेट को वेब से ऐक्सेस किए जा सकने वाले रिसॉर्स के तौर पर दिखाया जाना चाहिए. दूसरा, आम तौर पर एक्सटेंशन एसेट को इंजेक्ट करने की ज़िम्मेदारी कॉन्टेंट स्क्रिप्ट की होती है.

इस उदाहरण में, एक्सटेंशन logo.png को उस पेज से जोड़ देगा जिस पर कॉन्टेंट स्क्रिप्ट को runtime.getURL() का इस्तेमाल करके इजेक्ट किया जा रहा है पूरी तरह क्वालिफ़ाइड यूआरएल. हालांकि, सबसे पहले ऐसेट को मेनिफ़ेस्ट में, वेब से ऐक्सेस किए जा सकने वाले संसाधन के तौर पर एलान करना होगा.

manifest.json:

{
  ...
  "web_accessible_resources": [
    {
      "resources": [ "logo.png" ],
      "matches": [ "https://*/*" ]
    }
  ],
  ...
}

content.js:

{ // Block used to avoid setting global variables
  const img = document.createElement('img');
  img.src = chrome.runtime.getURL('logo.png');
  document.body.append(img);
}

सर्विस वर्कर से एक सामग्री स्क्रिप्ट में डेटा भेजें

किसी एक्सटेंशन की कॉन्टेंट स्क्रिप्ट के लिए, एक्सटेंशन के किसी दूसरे हिस्से से मैनेज किए जाने वाले डेटा की ज़रूरत होना आम बात है, जैसे, सर्विस वर्कर. एक ही वेब पेज पर खुली दो ब्राउज़र विंडो की तरह ही, ये दो कॉन्टेक्स्ट सीधे तौर पर एक-दूसरे की वैल्यू ऐक्सेस नहीं कर सकते. इसके बजाय, एक्सटेंशन मैसेज का इस्तेमाल कर सकता है पासिंग की सुविधा देता है.

इस उदाहरण में, कॉन्टेंट स्क्रिप्ट को अपने यूज़र इंटरफ़ेस (यूआई) को शुरू करने के लिए, एक्सटेंशन के सेवा वर्कर से कुछ डेटा चाहिए. यह डेटा पाने के लिए, यह सेवा वर्कर को get-user-data मैसेज भेजता है. इसके बाद, सेवा वर्कर उपयोगकर्ता की जानकारी की कॉपी भेजता है.

content.js:

// 1. Send a message to the service worker requesting the user's data
chrome.runtime.sendMessage('get-user-data', (response) => {
  // 3. Got an asynchronous response with the data from the service worker
  console.log('received user data', response);
  initializeUI(response);
});

background.js:

// Example of a simple user data object
const user = {
  username: 'demo-user'
};

chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
  // 2. A page requested user data, respond with a copy of `user`
  if (message === 'get-user-data') {
    sendResponse(user);
  }
});

अनइंस्टॉल करने के बारे में सुझाव, शिकायतें या राय इकट्ठा करना

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

background.js:

chrome.runtime.onInstalled.addListener(details => {
  if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
    chrome.runtime.setUninstallURL('https://example.com/extension-survey');
  }
});

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

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

टाइप

ContextFilter

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

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

प्रॉपर्टी

  • contextIds

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

  • contextTypes

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

  • documentIds

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

  • documentOrigins

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

  • documentUrls

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

  • 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

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

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

  • documentOrigin

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

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

  • documentUrl

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

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

  • frameId

    संख्या

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

  • गुप्त मोड

    बूलियन

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

  • tabId

    संख्या

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

  • windowId

    संख्या

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

MessageSender

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

प्रॉपर्टी

  • documentId

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

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

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

  • documentLifecycle

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

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

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

  • frameId

    number ज़रूरी नहीं

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

  • आईडी

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

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

  • nativeApplication

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

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

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

  • origin

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

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

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

  • टैब

    Tab ज़रूरी नहीं है

    वह 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"
इससे, ऐप्लिकेशन के अपडेट के तौर पर इवेंट की वजह का पता चलता है.

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

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

PlatformArch

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

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

Enum

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

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

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

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

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

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

PlatformInfo

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

प्रॉपर्टी

  • आर्क

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

  • nacl_arch

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

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

PlatformNaclArch

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

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

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 ऑपरेटिंग सिस्टम के बारे में बताता है.

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

Port

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

प्रॉपर्टी

  • नाम

    स्ट्रिंग

    runtime.connect को कॉल करने के दौरान बताए गए पोर्ट का नाम.

  • onDisconnect

    Event<functionvoidvoid>

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

    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 लिसनर को पास किए गए पोर्ट पर सिर्फ़ मौजूद होगी.

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

    अमान्य

    तुरंत पोर्ट को डिसकनेक्ट करें. पहले से डिसकनेक्ट किए गए पोर्ट पर 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 'window' ऑब्जेक्ट.

रिटर्न

  • Promise<Window | undefined>

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

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

getContexts()

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

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

पैरामीटर

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

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

  • कॉलबैक

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

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

    (contexts: ExtensionContext[]) => void

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

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

रिटर्न

  • Promise<ExtensionContext[]>

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

getManifest()

chrome.runtime.getManifest()

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

रिटर्न

  • ऑब्जेक्ट

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

getPackageDirectoryEntry()

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

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

पैरामीटर

  • कॉलबैक

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

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

    (directoryEntry: DirectoryEntry) => void

    • directoryEntry

      DirectoryEntry

रिटर्न

  • प्रॉमिस<DirectoryEntry>

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

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

getPlatformInfo()

वादा करना
chrome.runtime.getPlatformInfo(
  callback?: function,
)

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

पैरामीटर

  • कॉलबैक

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

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

    (platformInfo: PlatformInfo) => void

रिटर्न

  • Promise<PlatformInfo>

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

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. दूसरे प्लैटफ़ॉर्म को कॉलबैक इस्तेमाल करने होते हैं.

getURL()

chrome.runtime.getURL(
  path: string,
)

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

पैरामीटर

  • पाथ

    स्ट्रिंग

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

रिटर्न

  • स्ट्रिंग

    रिसॉर्स का पूरा यूआरएल.

openOptionsPage()

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

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

डिवाइस के काम करने का सटीक तरीका, मेनिफ़ेस्ट की [options_ui](https://developer.chrome.com/docs/extensions/develop/ui/options-page#embedded_options) या [options_page](https://developer.chrome.com/docs/extensions/develop/ui/options-page#full_page) कुंजी पर निर्भर करता है. यह इस बात पर भी निर्भर करता है कि Chrome उस समय किस तरह काम कर रहा है. उदाहरण के लिए, पेज को किसी ऐप्लिकेशन में, chrome://extensions में या नए टैब में खोला जा सकता है. इसके अलावा, यह सिर्फ़ किसी खुले विकल्प वाले पेज पर फ़ोकस कर सकता है. इससे कॉलर पेज कभी भी फिर से लोड नहीं होगा.

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

पैरामीटर

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

reload()

chrome.runtime.reload()

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

requestUpdateCheck()

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

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

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

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

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

पैरामीटर

  • कॉलबैक

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

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

    (result: object) => void

    • नतीजा

      ऑब्जेक्ट

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

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

      • स्थिति

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

      • वर्शन

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

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

रिटर्न

  • प्रॉमिस<object>

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

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

restart()

chrome.runtime.restart()

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

restartAfterDelay()

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

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

पैरामीटर

  • सेकंड

    संख्या

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

sendMessage()

वादा करना
chrome.runtime.sendMessage(
  extensionId?: string,
  message: any,
  options?: object,
  callback?: function,
)

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

पैरामीटर

  • extensionId

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

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

  • मैसेज

    कोई

    भेजा जाने वाला मैसेज. यह मैसेज, JSON फ़ॉर्मैट में बदला जा सकने वाला ऑब्जेक्ट होना चाहिए.

  • विकल्प

    ऑब्जेक्ट ज़रूरी नहीं है

    • includeTlsChannelId

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

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

  • कॉलबैक

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

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

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

    (response: any) => void

    • जवाब

      कोई

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

रिटर्न

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

    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,
)

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

पैरामीटर

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    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,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    () => void

onSuspend

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    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

    • विवरण

      ऑब्जेक्ट

      • वर्शन

        स्ट्रिंग

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

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 | undefined