ब्यौरा
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');
}
});
उदाहरण
रनटाइम एपीआई के ज़्यादा उदाहरणों के लिए, Manifest V3 - वेब से ऐक्सेस किए जा सकने वाले संसाधनों का डेमो देखें.
टाइप
ContextFilter
कुछ एक्सटेंशन कॉन्टेक्स्ट से मैच करने वाला फ़िल्टर. मैच करने वाले कॉन्टेक्स्ट, तय किए गए सभी फ़िल्टर से मेल खाने चाहिए. ऐसा कोई भी फ़िल्टर जो तय नहीं किया गया है, सभी उपलब्ध कॉन्टेक्स्ट से मैच करता है. इसलिए, `{}` वाला फ़िल्टर सभी उपलब्ध कॉन्टेक्स्ट से मैच करेगा.
प्रॉपर्टी
-
contextIds
string[] ज़रूरी नहीं
-
contextTypes
ContextType[] ज़रूरी नहीं
-
documentIds
string[] ज़रूरी नहीं
-
documentOrigins
string[] ज़रूरी नहीं
-
documentUrls
string[] ज़रूरी नहीं
-
frameIds
number[] ज़रूरी नहीं
-
गुप्त मोड
बूलियन ज़रूरी नहीं
-
tabIds
number[] ज़रूरी नहीं
-
windowIds
number[] ज़रूरी नहीं
ContextType
Enum
"TAB"
टैब के तौर पर कॉन्टेक्स्ट टाइप की जानकारी देता है
"POPUP"
एक्सटेंशन पॉप-अप विंडो के तौर पर कॉन्टेक्स्ट टाइप की जानकारी देता है
"BACKGROUND"
यह कॉन्टेक्स्ट टाइप को सेवा वर्कर के तौर पर बताता है.
"OFFSCREEN_DOCUMENT"
इससे, कॉन्टेक्स्ट टाइप को ऑफ़स्क्रीन दस्तावेज़ के तौर पर दिखाया जाता है.
"SIDE_PANEL"
इससे, कॉन्टेक्स्ट टाइप को साइड पैनल के तौर पर दिखाया जाता है.
"DEVELOPER_TOOLS"
इससे कॉन्टेक्स्ट टाइप के तौर पर डेवलपर टूल की जानकारी मिलती है.
ExtensionContext
एक्सटेंशन कॉन्टेंट को होस्ट करने वाला कॉन्टेक्स्ट.
प्रॉपर्टी
-
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
है, तो वहtabs.Tab
जिसने कनेक्शन खोला. यह प्रॉपर्टी सिर्फ़ तब मौजूद होगी, जब कनेक्शन को किसी टैब (कॉन्टेंट स्क्रिप्ट सहित) से खोला गया हो. साथ ही, यह सिर्फ़ तब मौजूद होगी, जब रिसीवर कोई ऐप्लिकेशन न होकर एक्सटेंशन हो. -
tlsChannelId
स्ट्रिंग ज़रूरी नहीं
अगर एक्सटेंशन ने अनुरोध किया है और उपलब्ध है, तो कनेक्शन खोलने वाले पेज या फ़्रेम का TLS चैनल आईडी.
-
url
स्ट्रिंग ज़रूरी नहीं
उस पेज या फ़्रेम का यूआरएल जिसने कनेक्शन खोला. अगर ईमेल भेजने वाला व्यक्ति किसी iframe में है, तो ईमेल भेजने वाले व्यक्ति का यूआरएल, iframe का यूआरएल होगा, न कि उसे होस्ट करने वाले पेज का यूआरएल.
OnInstalledReason
इस इवेंट को डिस्पैच करने की वजह.
Enum
"install"
इवेंट की वजह को इंस्टॉलेशन के तौर पर बताता है.
"update"
एक्सटेंशन अपडेट के तौर पर, इवेंट की वजह बताता है.
"chrome_update"
इवेंट की वजह को Chrome अपडेट के तौर पर बताता है.
"shared_module_update"
शेयर किए गए मॉड्यूल के अपडेट के तौर पर, इवेंट की वजह बताता है.
OnRestartRequiredReason
इवेंट डिस्पैच होने की वजह. 'app_update' का इस्तेमाल तब किया जाता है, जब ऐप्लिकेशन को नए वर्शन में अपडेट करने के बाद, उसे रीस्टार्ट करना ज़रूरी हो. 'os_update' का इस्तेमाल तब किया जाता है, जब ब्राउज़र/ओएस को नए वर्शन में अपडेट करने की वजह से रीस्टार्ट करना ज़रूरी हो. 'पीरियोडिक' का इस्तेमाल तब किया जाता है, जब सिस्टम एंटरप्राइज़ नीति में तय किए गए अपटाइम से ज़्यादा समय तक चलता है.
Enum
"app_update"
इससे, ऐप्लिकेशन के अपडेट के तौर पर इवेंट की वजह का पता चलता है.
"os_update"
ऑपरेटिंग सिस्टम के अपडेट के तौर पर, इवेंट की वजह बताता है.
"periodic"
इससे, इवेंट की वजह के तौर पर, ऐप्लिकेशन के समय-समय पर रीस्टार्ट होने की जानकारी मिलती है.
PlatformArch
मशीन के प्रोसेसर का आर्किटेक्चर.
Enum
"arm"
प्रोसेसर आर्किटेक्चर को arm के तौर पर बताता है.
"arm64"
प्रोसेसर आर्किटेक्चर को arm64 के तौर पर बताता है.
"x86-32"
इससे प्रोसेसर आर्किटेक्चर के तौर पर x86-32 का पता चलता है.
"x86-64"
प्रोसेसर आर्किटेक्चर को x86-64 के तौर पर दिखाता है.
"mips"
इससे प्रोसेसर आर्किटेक्चर के तौर पर mips की जानकारी मिलती है.
"mips64"
प्रोसेसर आर्किटेक्चर को mips64 के तौर पर बताता है.
PlatformInfo
मौजूदा प्लैटफ़ॉर्म के बारे में जानकारी देने वाला ऑब्जेक्ट.
प्रॉपर्टी
-
आर्क
मशीन के प्रोसेसर का आर्किटेक्चर.
-
nacl_arch
नेटिव क्लाइंट आर्किटेक्चर. यह कुछ प्लैटफ़ॉर्म पर arch से अलग हो सकता है.
-
os
Chrome जिस ऑपरेटिंग सिस्टम पर चल रहा है.
PlatformNaclArch
नेटिव क्लाइंट आर्किटेक्चर. यह कुछ प्लैटफ़ॉर्म पर arch से अलग हो सकता है.
Enum
"arm"
नेटिव क्लाइंट आर्किटेक्चर को arm के तौर पर बताता है.
"x86-32"
नेटिव क्लाइंट आर्किटेक्चर को x86-32 के तौर पर दिखाता है.
"x86-64"
नेटिव क्लाइंट आर्किटेक्चर को x86-64 के तौर पर दिखाता है.
"mips"
नेटिव क्लाइंट आर्किटेक्चर को mips के तौर पर बताता है.
"mips64"
नेटिव क्लाइंट आर्किटेक्चर को mips64 के तौर पर बताता है.
PlatformOs
Chrome जिस ऑपरेटिंग सिस्टम पर चल रहा है.
Enum
"mac"
MacOS ऑपरेटिंग सिस्टम के बारे में बताता है.
"win"
Windows ऑपरेटिंग सिस्टम के बारे में बताता है.
"android"
Android ऑपरेटिंग सिस्टम की जानकारी देता है.
"cros"
Chrome ऑपरेटिंग सिस्टम के बारे में बताता है.
"linux"
Linux ऑपरेटिंग सिस्टम के बारे में बताता है.
"openbsd"
OpenBSD ऑपरेटिंग सिस्टम के बारे में बताता है.
"fuchsia"
इससे Fuchsia ऑपरेटिंग सिस्टम के बारे में पता चलता है.
Port
ऐसा ऑब्जेक्ट जो दूसरे पेजों के साथ दोतरफ़ा कम्यूनिकेशन की सुविधा देता है. ज़्यादा जानकारी के लिए, लंबे समय तक चलने वाले कनेक्शन देखें.
प्रॉपर्टी
-
नाम
स्ट्रिंग
runtime.connect
को कॉल करने के दौरान बताए गए पोर्ट का नाम. -
onDisconnect
Event<functionvoidvoid>
जब पोर्ट दूसरे छोर से डिसकनेक्ट होता है, तब यह ट्रिगर होता है. अगर पोर्ट किसी गड़बड़ी की वजह से डिसकनेक्ट हो गया था, तो
runtime.lastError
सेट किया जा सकता है. अगर पोर्ट को disconnect के ज़रिए बंद किया जाता है, तो यह इवेंट दूसरे छोर पर सिर्फ़ ट्रिगर होता है. यह इवेंट ज़्यादा से ज़्यादा एक बार ट्रिगर होता है. पोर्ट लाइफ़टाइम भी देखें.onDisconnect.addListener
फ़ंक्शन इस तरह दिखता है:(callback: function) => {...}
-
onMessage
Event<functionvoidvoid>
यह इवेंट तब ट्रिगर होता है, जब पोर्ट के दूसरे छोर से postMessage को कॉल किया जाता है.
onMessage.addListener
फ़ंक्शन इस तरह दिखता है:(callback: function) => {...}
-
ईमेल भेजने वाला
MessageSender ज़रूरी नहीं है
यह प्रॉपर्टी, onConnect / onConnectExternal / onConnectNative लिसनर को पास किए गए पोर्ट पर सिर्फ़ मौजूद होगी.
-
डिसकनेक्ट करें
अमान्य
तुरंत पोर्ट को डिसकनेक्ट करें. पहले से डिसकनेक्ट किए गए पोर्ट पर
disconnect()
को कॉल करने से कोई असर नहीं पड़ता. किसी पोर्ट को डिसकनेक्ट करने पर, उस पोर्ट पर कोई नया इवेंट डिस्पैच नहीं किया जाएगा.disconnect
फ़ंक्शन इस तरह दिखता है:() => {...}
-
postMessage
अमान्य
पोर्ट के दूसरे सिरे पर मैसेज भेजें. अगर पोर्ट डिसकनेक्ट हो जाता है, तो गड़बड़ी का मैसेज दिखता है.
postMessage
फ़ंक्शन इस तरह दिखता है:(message: any) => {...}
-
मैसेज
कोई
Chrome 52 और उसके बाद के वर्शनभेजा जाने वाला मैसेज. यह ऑब्जेक्ट, JSON फ़ॉर्मैट में होना चाहिए.
-
RequestUpdateCheckStatus
अपडेट की जांच का नतीजा.
Enum
"थ्रॉटल किया गया"
इससे पता चलता है कि स्टेटस की जांच को कम कर दिया गया है. ऐसा कम समय में बार-बार जांच करने पर हो सकता है.
"no_update"
यह बताता है कि इंस्टॉल करने के लिए कोई अपडेट उपलब्ध नहीं है.
"update_available"
यह बताता है कि इंस्टॉल करने के लिए कोई अपडेट उपलब्ध है.
प्रॉपर्टी
id
एक्सटेंशन/ऐप्लिकेशन का आईडी.
टाइप
स्ट्रिंग
lastError
अगर एपीआई फ़ंक्शन को कॉल करने में कोई गड़बड़ी होती है, तो गड़बड़ी का मैसेज दिखता है. अगर कोई गड़बड़ी नहीं होती है, तो यह एट्रिब्यूट कोई वैल्यू नहीं दिखाता. यह सिर्फ़ उस फ़ंक्शन के कॉलबैक के दायरे में तय किया जाता है. अगर कोई गड़बड़ी होती है, लेकिन कॉलबैक में runtime.lastError
को ऐक्सेस नहीं किया जाता है, तो कंसोल में एक मैसेज लॉग किया जाता है. इसमें उस एपीआई फ़ंक्शन की जानकारी होती है जिसकी वजह से गड़बड़ी हुई है. वादे के साथ नतीजे दिखाने वाले एपीआई फ़ंक्शन, इस प्रॉपर्टी को सेट नहीं करते.
टाइप
ऑब्जेक्ट
प्रॉपर्टी
-
मैसेज
स्ट्रिंग ज़रूरी नहीं
हुई गड़बड़ी के बारे में जानकारी.
तरीके
connect()
chrome.runtime.connect(
extensionId?: string,
connectInfo?: object,
)
किसी एक्सटेंशन (जैसे, बैकग्राउंड पेज) या अन्य एक्सटेंशन/ऐप्लिकेशन में मौजूद लिसनर को कनेक्ट करने की कोशिश करता है. यह एक्सटेंशन प्रोसेस, इंटर-ऐप्लिकेशन/एक्सटेंशन कम्यूनिकेशन, और वेब मैसेजिंग से कनेक्ट होने वाली कॉन्टेंट स्क्रिप्ट के लिए काम की है. ध्यान दें कि यह किसी कॉन्टेंट स्क्रिप्ट में मौजूद किसी भी लिसनर से कनेक्ट नहीं होता. एक्सटेंशन, tabs.connect
के ज़रिए टैब में एम्बेड की गई कॉन्टेंट स्क्रिप्ट से कनेक्ट हो सकते हैं.
पैरामीटर
-
extensionId
स्ट्रिंग ज़रूरी नहीं
उस एक्सटेंशन का आईडी जिससे कनेक्ट करना है. अगर इसे छोड़ दिया जाता है, तो आपके एक्सटेंशन से कनेक्ट करने की कोशिश की जाएगी. वेब मैसेजिंग के लिए, वेब पेज से मैसेज भेजने पर ज़रूरी है.
-
connectInfo
ऑब्जेक्ट ज़रूरी नहीं है
-
includeTlsChannelId
बूलियन ज़रूरी नहीं
कनेक्शन इवेंट को सुन रही प्रोसेस के लिए, TLS चैनल आईडी को onConnectExternal में पास किया जाएगा या नहीं.
-
नाम
स्ट्रिंग ज़रूरी नहीं
कनेक्शन इवेंट को सुनने वाली प्रोसेस के लिए, onConnect में पास किया जाएगा.
-
रिटर्न
-
वह पोर्ट जिससे मैसेज भेजे और पाए जा सकते हैं. अगर एक्सटेंशन मौजूद नहीं है, तो पोर्ट का onDisconnect इवेंट ट्रिगर होता है.
connectNative()
chrome.runtime.connectNative(
application: string,
)
होस्ट मशीन में मौजूद किसी नेटिव ऐप्लिकेशन से कनेक्ट करता है. इस तरीके के लिए, "nativeMessaging"
की अनुमति की ज़रूरत होती है. ज़्यादा जानकारी के लिए, नेटिव मैसेजिंग देखें.
पैरामीटर
-
ऐप्लिकेशन
स्ट्रिंग
रजिस्टर किए गए उस ऐप्लिकेशन का नाम जिससे कनेक्ट करना है.
रिटर्न
-
वह पोर्ट जिससे ऐप्लिकेशन से मैसेज भेजे और पाए जा सकते हैं
getBackgroundPage()
chrome.runtime.getBackgroundPage(
callback?: function,
)
मौजूदा एक्सटेंशन/ऐप्लिकेशन में चल रहे बैकग्राउंड पेज के लिए, JavaScript 'window' ऑब्जेक्ट को वापस लाता है. अगर बैकग्राउंड पेज कोई इवेंट पेज है, तो सिस्टम यह पक्का करेगा कि कॉलबैक को कॉल करने से पहले वह लोड हो गया हो. अगर कोई बैकग्राउंड पेज नहीं है, तो गड़बड़ी का मैसेज सेट हो जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(backgroundPage?: Window) => void
-
backgroundPage
विंडो ज़रूरी नहीं है
बैकग्राउंड पेज के लिए JavaScript 'window' ऑब्जेक्ट.
-
रिटर्न
-
Promise<Window | undefined>
Chrome 99 और उसके बाद के वर्शनमेनिफ़ेस्ट V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
getContexts()
chrome.runtime.getContexts(
filter: ContextFilter,
callback?: function,
)
इस एक्सटेंशन से जुड़े चालू कॉन्टेक्स्ट के बारे में जानकारी फ़ेच करता है
पैरामीटर
-
फ़िल्टर करें
मिलते-जुलते कॉन्टेक्स्ट ढूंढने के लिए फ़िल्टर. कोई कॉन्टेक्स्ट तब मैच होता है, जब वह फ़िल्टर में बताए गए सभी फ़ील्ड से मैच करता हो. फ़िल्टर में कोई भी ऐसा फ़ील्ड जो किसी खास वैल्यू से नहीं जुड़ा है, सभी संदर्भों से मेल खाता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(contexts: ExtensionContext[]) => void
-
कॉन्टेक्स्ट
मैच होने वाले कॉन्टेक्स्ट, अगर कोई है.
-
रिटर्न
-
Promise<ExtensionContext[]>
मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
getManifest()
chrome.runtime.getManifest()
मेनिफ़ेस्ट से ऐप्लिकेशन या एक्सटेंशन के बारे में जानकारी दिखाता है. रिटर्न किया गया ऑब्जेक्ट, पूरी मेनिफ़ेस्ट फ़ाइल का सीरियलाइज़ेशन होता है.
रिटर्न
-
ऑब्जेक्ट
मेनिफ़ेस्ट की जानकारी.
getPackageDirectoryEntry()
chrome.runtime.getPackageDirectoryEntry(
callback?: function,
)
पैकेज डायरेक्ट्री के लिए DirectoryEntry दिखाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(directoryEntry: DirectoryEntry) => void
-
directoryEntry
DirectoryEntry
-
रिटर्न
-
Promise<DirectoryEntry>
Chrome 122 और उसके बाद के वर्शनमेनिफ़ेस्ट V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
getPlatformInfo()
chrome.runtime.getPlatformInfo(
callback?: function,
)
मौजूदा प्लैटफ़ॉर्म के बारे में जानकारी दिखाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(platformInfo: PlatformInfo) => void
-
platformInfo
-
रिटर्न
-
Promise<PlatformInfo>
Chrome 99 और उसके बाद के वर्शनमेनिफ़ेस्ट V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
getURL()
chrome.runtime.getURL(
path: string,
)
यह किसी ऐप्लिकेशन/एक्सटेंशन इंस्टॉल डायरेक्ट्री में मौजूद रिलेटिव पाथ को पूरी तरह से मान्य यूआरएल में बदल देता है.
पैरामीटर
-
पाथ
स्ट्रिंग
किसी ऐप्लिकेशन/एक्सटेंशन में मौजूद रिसॉर्स का पाथ, जो उसकी इंस्टॉल डायरेक्ट्री के हिसाब से दिया गया हो.
रिटर्न
-
स्ट्रिंग
रिसॉर्स का पूरा यूआरएल.
openOptionsPage()
chrome.runtime.openOptionsPage(
callback?: function,
)
अगर हो सके, तो अपने एक्सटेंशन का विकल्प पेज खोलें.
इसकी सटीक जानकारी, आपके मेनिफ़ेस्ट की options_ui
या options_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 और उसके बाद के वर्शनRequestUpdateCheckResult ऑब्जेक्ट, अपडेट की जांच की स्थिति और अपडेट उपलब्ध होने पर, नतीजे की जानकारी दिखाता है
-
स्थिति
अपडेट की जांच का नतीजा.
-
वर्शन
स्ट्रिंग ज़रूरी नहीं
अगर कोई अपडेट उपलब्ध है, तो इसमें उपलब्ध अपडेट का वर्शन शामिल होता है.
-
-
रिटर्न
-
Promise<object>
Chrome 109 और उसके बाद के वर्शनमेनिफ़ेस्ट V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
restart()
chrome.runtime.restart()
ऐप्लिकेशन को कीऑस्क मोड में चलाने के लिए, ChromeOS डिवाइस को रीस्टार्ट करें. ऐसा न करने पर, कोई कार्रवाई नहीं की जाएगी.
restartAfterDelay()
chrome.runtime.restartAfterDelay(
seconds: number,
callback?: function,
)
तय किए गए सेकंड के बाद, जब ऐप्लिकेशन कीऑस्क मोड में चलने लगे, तो ChromeOS डिवाइस को रीस्टार्ट करें. अगर समय खत्म होने से पहले फिर से कॉल किया जाता है, तो रीबूट में देरी होगी. अगर -1 वैल्यू के साथ कॉल किया जाता है, तो रीबूट रद्द हो जाएगा. यह सुविधा, किओस्क मोड के अलावा किसी अन्य मोड में काम नहीं करती. इस एपीआई को ट्रिगर करने के लिए, सिर्फ़ पहले एक्सटेंशन को बार-बार कॉल करने की अनुमति है.
पैरामीटर
-
सेकंड
संख्या
डिवाइस को रीबूट करने से पहले इंतज़ार करने का समय, सेकंड में. शेड्यूल किए गए रीबूट को रद्द करने के लिए, -1 डालें.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 99 और उसके बाद के वर्शनमेनिफ़ेस्ट V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
sendMessage()
chrome.runtime.sendMessage(
extensionId?: string,
message: any,
options?: object,
callback?: function,
)
आपके एक्सटेंशन या किसी दूसरे एक्सटेंशन/ऐप्लिकेशन में, इवेंट सुनने वालों को एक मैसेज भेजता है. यह runtime.connect
जैसा ही है, लेकिन इसमें जवाब के साथ सिर्फ़ एक मैसेज भेजा जाता है. अगर डेटा अपने एक्सटेंशन पर भेजा जा रहा है, तो आपके एक्सटेंशन के हर फ़्रेम में runtime.onMessage
इवेंट ट्रिगर होगा. हालांकि, यह इवेंट, डेटा भेजने वाले के फ़्रेम में ट्रिगर नहीं होगा. अगर डेटा किसी दूसरे एक्सटेंशन पर भेजा जा रहा है, तो runtime.onMessageExternal
इवेंट ट्रिगर होगा. ध्यान दें कि एक्सटेंशन इस तरीके का इस्तेमाल करके, कॉन्टेंट स्क्रिप्ट को मैसेज नहीं भेज सकते. कॉन्टेंट स्क्रिप्ट को मैसेज भेजने के लिए, tabs.sendMessage
का इस्तेमाल करें.
पैरामीटर
-
extensionId
स्ट्रिंग ज़रूरी नहीं
उस एक्सटेंशन का आईडी जिस पर मैसेज भेजना है. अगर यह पैरामीटर नहीं दिया जाता है, तो मैसेज आपके एक्सटेंशन/ऐप्लिकेशन पर भेजा जाएगा. वेब मैसेजिंग के लिए, किसी वेब पेज से मैसेज भेजने के लिए यह पैरामीटर ज़रूरी है.
-
मैसेज
कोई
भेजा जाने वाला मैसेज. यह मैसेज, JSON फ़ॉर्मैट में बदला जा सकने वाला ऑब्जेक्ट होना चाहिए.
-
विकल्प
ऑब्जेक्ट ज़रूरी नहीं है
-
includeTlsChannelId
बूलियन ज़रूरी नहीं
कनेक्शन इवेंट को सुन रही प्रोसेस के लिए, TLS चैनल आईडी को onMessageExternal में पास किया जाएगा या नहीं.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
Chrome 99 और उसके बाद के वर्शनcallback
पैरामीटर इस तरह दिखता है:(response: any) => void
-
जवाब
कोई
मैसेज के हैंडलर से भेजा गया JSON रिस्पॉन्स ऑब्जेक्ट. अगर एक्सटेंशन से कनेक्ट करते समय कोई गड़बड़ी होती है, तो कॉलबैक को बिना किसी आर्ग्युमेंट के कॉल किया जाएगा और
runtime.lastError
को गड़बड़ी के मैसेज पर सेट कर दिया जाएगा.
-
रिटर्न
-
Promise<any>
Chrome 99 और उसके बाद के वर्शनमेनिफ़ेस्ट V3 और उसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए कॉलबैक उपलब्ध कराए गए हैं. एक ही फ़ंक्शन कॉल में, दोनों का इस्तेमाल नहीं किया जा सकता. प्रोमिस, कॉलबैक में पास किए गए टाइप के साथ ही रिज़ॉल्व होता है.
sendNativeMessage()
chrome.runtime.sendNativeMessage(
application: string,
message: object,
callback?: function,
)
किसी नेटिव ऐप्लिकेशन को एक मैसेज भेजना. इस तरीके के लिए, "nativeMessaging"
की अनुमति की ज़रूरत होती है.
पैरामीटर
-
ऐप्लिकेशन
स्ट्रिंग
नेटिव मैसेजिंग होस्ट का नाम.
-
मैसेज
ऑब्जेक्ट
वह मैसेज जिसे नेटिव मैसेजिंग होस्ट को भेजा जाएगा.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
Chrome 99 और उसके बाद के वर्शनcallback
पैरामीटर इस तरह दिखता है:(response: any) => void
-
जवाब
कोई
नेटिव मैसेजिंग होस्ट से मिला जवाब. नेटिव मैसेजिंग होस्ट से कनेक्ट करते समय कोई गड़बड़ी होने पर, कॉलबैक को बिना किसी आर्ग्युमेंट के कॉल किया जाएगा. साथ ही,
runtime.lastError
को गड़बड़ी के मैसेज पर सेट कर दिया जाएगा.
-
रिटर्न
-
Promise<any>
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
की मदद से) से कनेक्शन बनाया जाता है.
onConnectExternal
chrome.runtime.onConnectExternal.addListener(
callback: function,
)
यह ट्रिगर तब होता है, जब किसी दूसरे एक्सटेंशन (runtime.connect
की मदद से) या बाहर से कनेक्ट की जा सकने वाली किसी वेबसाइट से कनेक्शन बनाया जाता है.
onConnectNative
chrome.runtime.onConnectNative.addListener(
callback: function,
)
किसी नेटिव ऐप्लिकेशन से कनेक्शन बनाने पर ट्रिगर होता है. इस इवेंट के लिए, "nativeMessaging"
अनुमति की ज़रूरत है. यह सुविधा सिर्फ़ Chrome OS पर काम करती है.
onInstalled
chrome.runtime.onInstalled.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब एक्सटेंशन पहली बार इंस्टॉल किया जाता है, जब एक्सटेंशन को नए वर्शन में अपडेट किया जाता है, और जब Chrome को नए वर्शन में अपडेट किया जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:(details: object) => void
-
विवरण
ऑब्जेक्ट
-
आईडी
स्ट्रिंग ज़रूरी नहीं
इंपोर्ट किए गए शेयर किए गए मॉड्यूल एक्सटेंशन का आईडी दिखाता है, जो अपडेट हो गया है. यह सिर्फ़ तब मौजूद होता है, जब 'reason' की वैल्यू '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 | undefined
-
onMessageExternal
chrome.runtime.onMessageExternal.addListener(
callback: function,
)
किसी दूसरे एक्सटेंशन से मैसेज भेजने पर (runtime.sendMessage
से) ट्रिगर होता है. कॉन्टेंट स्क्रिप्ट में इसका इस्तेमाल नहीं किया जा सकता.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:(message: any, sender: MessageSender, sendResponse: function) => boolean | undefined
-
मैसेज
कोई
-
ईमेल भेजने वाला
-
sendResponse
फ़ंक्शन
sendResponse
पैरामीटर इस तरह दिखता है:() => void
-
returns
boolean | undefined
-
onRestartRequired
chrome.runtime.onRestartRequired.addListener(
callback: function,
)
यह ट्रिगर तब होता है, जब किसी ऐप्लिकेशन या उस डिवाइस को रीस्टार्ट करना ज़रूरी हो जिस पर वह ऐप्लिकेशन काम करता है. ऐप्लिकेशन को रीस्टार्ट करने के लिए, उसे अपनी सभी विंडो जल्द से जल्द बंद करनी चाहिए. अगर ऐप्लिकेशन कुछ नहीं करता है, तो 24 घंटे के ग्रेस पीरियड के खत्म होने के बाद, उसे रीस्टार्ट कर दिया जाएगा. फ़िलहाल, यह इवेंट सिर्फ़ Chrome OS के कीऑस्क ऐप्लिकेशन के लिए ट्रिगर होता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:(reason: OnRestartRequiredReason) => void
onStartup
chrome.runtime.onStartup.addListener(
callback: function,
)
यह ट्रिगर तब होता है, जब इस एक्सटेंशन को इंस्टॉल की गई प्रोफ़ाइल पहली बार चालू होती है. गुप्त मोड में कोई प्रोफ़ाइल शुरू करने पर, यह इवेंट ट्रिगर नहीं होता. भले ही, यह एक्सटेंशन 'स्प्लिट' गुप्त मोड में काम कर रहा हो.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:() => void
onSuspend
chrome.runtime.onSuspend.addListener(
callback: function,
)
इवेंट पेज के अनलोड होने से ठीक पहले भेजा जाता है. इससे एक्सटेंशन को कुछ क्लीन अप करने का मौका मिलता है. ध्यान दें कि पेज अनलोड हो रहा है. इसलिए, इस इवेंट को हैंडल करते समय शुरू किए गए असाइनोक्रोनस ऑपरेशन पूरे होने की कोई गारंटी नहीं है. अगर इवेंट पेज अनलोड होने से पहले उस पर ज़्यादा गतिविधि होती है, तो onSuspendCanceled इवेंट भेजा जाएगा और पेज अनलोड नहीं होगा.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:() => void
onSuspendCanceled
chrome.runtime.onSuspendCanceled.addListener(
callback: function,
)
onSuspend के बाद भेजा जाता है, ताकि यह पता चल सके कि ऐप्लिकेशन को अनलोड नहीं किया जाएगा.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:() => void
onUpdateAvailable
chrome.runtime.onUpdateAvailable.addListener(
callback: function,
)
यह ट्रिगर तब होता है, जब कोई अपडेट उपलब्ध होता है, लेकिन ऐप्लिकेशन के चलने की वजह से तुरंत इंस्टॉल नहीं होता. अगर कोई कार्रवाई नहीं की जाती है, तो अपडेट अगली बार बैकग्राउंड पेज के अनलोड होने पर इंस्टॉल हो जाएगा. अगर आपको इसे जल्दी इंस्टॉल करना है, तो chrome.runtime.reload() को मैन्युअल रूप से कॉल करें. अगर आपका एक्सटेंशन, हमेशा चालू रहने वाले बैकग्राउंड पेज का इस्तेमाल कर रहा है, तो बैकग्राउंड पेज कभी अनलोड नहीं होता. इसलिए, जब तक इस इवेंट के जवाब में chrome.runtime.reload() को मैन्युअल रूप से कॉल नहीं किया जाता, तब तक Chrome के अगली बार रीस्टार्ट होने तक अपडेट इंस्टॉल नहीं होगा. अगर कोई हैंडलर इस इवेंट के लिए सुन नहीं रहा है और आपके एक्सटेंशन में बैकग्राउंड में हमेशा खुला रहने वाला पेज है, तो यह इस इवेंट के जवाब में chrome.runtime.reload() के कॉल होने जैसा व्यवहार करता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:(details: object) => void
-
विवरण
ऑब्जेक्ट
-
वर्शन
स्ट्रिंग
उपलब्ध अपडेट का वर्शन नंबर.
-
-
onUserScriptConnect
chrome.runtime.onUserScriptConnect.addListener(
callback: function,
)
यह ट्रिगर तब होता है, जब इस एक्सटेंशन की उपयोगकर्ता स्क्रिप्ट से कोई कनेक्शन बनाया जाता है.
onUserScriptMessage
chrome.runtime.onUserScriptMessage.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब उसी एक्सटेंशन से जुड़ी उपयोगकर्ता स्क्रिप्ट से कोई मैसेज भेजा जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:(message: any, sender: MessageSender, sendResponse: function) => boolean | undefined
-
मैसेज
कोई
-
ईमेल भेजने वाला
-
sendResponse
फ़ंक्शन
sendResponse
पैरामीटर इस तरह दिखता है:() => void
-
returns
boolean | undefined
-