ब्यौरा
सर्विस वर्कर को वापस पाने, मेनिफ़ेस्ट के बारे में जानकारी देने, और एक्सटेंशन के लाइफ़साइकल में मौजूद इवेंट सुनने और उनका जवाब देने के लिए, 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
कुछ एक्सटेंशन कॉन्टेक्स्ट से मिलान करने वाला फ़िल्टर. मिलते-जुलते कॉन्टेक्स्ट, बताए गए सभी फ़िल्टर से मैच होने चाहिए; कोई भी फ़िल्टर जिसे तय नहीं किया गया है, वह सभी उपलब्ध संदर्भ से मेल खाता है. इसलिए, `{}` का फ़िल्टर सभी उपलब्ध कॉन्टेक्स्ट से मेल खाएगा.
प्रॉपर्टी
-
contextIds
स्ट्रिंग[] ज़रूरी नहीं
-
contextTypes
ContextType[] ज़रूरी नहीं
-
documentIds
स्ट्रिंग[] ज़रूरी नहीं
-
documentOrigins
स्ट्रिंग[] ज़रूरी नहीं
-
documentUrls
स्ट्रिंग[] ज़रूरी नहीं
-
frameIds
नंबर[] ज़रूरी नहीं
-
गुप्त मोड
बूलियन ज़रूरी नहीं
-
tabIds
नंबर[] ज़रूरी नहीं
-
windowIds
नंबर[] ज़रूरी नहीं
ContextType
Enum
"TAB"
संदर्भ के प्रकार को टैब के तौर पर बताता है
"POPUP"
कॉन्टेक्स्ट के प्रकार को एक्सटेंशन की पॉप-अप विंडो के तौर पर बताता है
"BACKGROUND"
सेवा वर्कर के तौर पर संदर्भ का प्रकार बताता है.
"OFFSCREEN_DOCUMENT"
कॉन्टेक्स्ट टाइप को ऑफ़स्क्रीन दस्तावेज़ के तौर पर बताता है.
"SIDE_CONFIG"
संदर्भ के टाइप को साइड पैनल के तौर पर बताता है.
ExtensionContext
कॉन्टेक्स्ट होस्ट करने वाला एक्सटेंशन कॉन्टेंट.
प्रॉपर्टी
-
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
इस इवेंट को भेजने की वजह.
Enum
"install"
इंस्टॉलेशन के तौर पर इवेंट की वजह बताता है.
"update"
एक्सटेंशन अपडेट के रूप में इवेंट की वजह बताता है.
"chrome_update"
Chrome के अपडेट के तौर पर इवेंट की वजह बताता है.
"shared_module_update"
शेयर किए गए मॉड्यूल में अपडेट के तौर पर इवेंट की वजह बताता है.
OnRestartRequiredReason
इवेंट भेजने की वजह. 'app_update' रीस्टार्ट करने की ज़रूरत पड़ने पर इस्तेमाल किया जाता है, क्योंकि ऐप्लिकेशन को नए वर्शन पर अपडेट किया गया है. 'os_update' रीस्टार्ट करने की ज़रूरत पड़ने पर इस्तेमाल किया जाता है, क्योंकि ब्राउज़र/ओएस को नए वर्शन पर अपडेट किया गया है. 'समय-समय पर' का इस्तेमाल तब किया जाता है, जब सिस्टम, एंटरप्राइज़ नीति में सेट किए गए अनुमति वाले अपटाइम से ज़्यादा समय तक चलता है.
Enum
"app_update"
ऐप्लिकेशन के अपडेट के तौर पर इवेंट की वजह बताता है.
"os_update"
ऑपरेटिंग सिस्टम के अपडेट के तौर पर, इवेंट की वजह के बारे में बताता है.
"समय-समय पर"
ऐप्लिकेशन को समय-समय पर रीस्टार्ट करने की वजह से इवेंट की वजह बताता है.
PlatformArch
मशीन का प्रोसेसर आर्किटेक्चर.
Enum
"आर्म"
प्रोसेसर आर्किटेक्चर को आर्म के तौर पर बताता है.
"arm64"
प्रोसेसर आर्किटेक्चर को आर्म64 के तौर पर बताता है.
"x86-32"
प्रोसेसर आर्किटेक्चर को x86-32 के तौर पर बताता है.
"x86-64"
प्रोसेसर आर्किटेक्चर को x86-64 के तौर पर बताता है.
"mips"
प्रोसेसर आर्किटेक्चर को mips के तौर पर बताता है.
"mips64"
प्रोसेसर आर्किटेक्चर को mips64 के तौर पर बताता है.
PlatformInfo
एक ऑब्जेक्ट, जिसमें मौजूदा प्लैटफ़ॉर्म के बारे में जानकारी होती है.
प्रॉपर्टी
-
चाप
मशीन का प्रोसेसर आर्किटेक्चर.
-
nacl_arch
नेटिव क्लाइंट आर्किटेक्चर. ऐसा हो सकता है कि यह कुछ प्लैटफ़ॉर्म पर चाप से अलग हो.
-
os
वह ऑपरेटिंग सिस्टम जिस पर Chrome चल रहा है.
PlatformNaclArch
नेटिव क्लाइंट आर्किटेक्चर. ऐसा हो सकता है कि यह कुछ प्लैटफ़ॉर्म पर चाप से अलग हो.
Enum
"आर्म"
नेटिव क्लाइंट आर्किटेक्चर को ग्रुप के तौर पर बताता है.
"x86-32"
नेटिव क्लाइंट आर्किटेक्चर को x86-32 के तौर पर तय करता है.
"x86-64"
नेटिव क्लाइंट आर्किटेक्चर को x86-64 के तौर पर तय करता है.
"mips"
नेटिव क्लाइंट आर्किटेक्चर को mips के तौर पर बताता है.
"mips64"
नेटिव क्लाइंट आर्किटेक्चर को mips64 के तौर पर बताता है.
PlatformOs
वह ऑपरेटिंग सिस्टम जिस पर Chrome चल रहा है.
Enum
"mac"
MacOS ऑपरेटिंग सिस्टम के बारे में बताता है.
"win"
Windows ऑपरेटिंग सिस्टम के बारे में बताता है.
"android"
Android ऑपरेटिंग सिस्टम के बारे में बताता है.
"crs"
Chrome ऑपरेटिंग सिस्टम के बारे में बताता है.
"linux"
Linux ऑपरेटिंग सिस्टम के बारे में जानकारी देता है.
"openbsd"
OpenBSD ऑपरेटिंग सिस्टम के बारे में बताता है.
"fachsia"
fuchsia ऑपरेटिंग सिस्टम के बारे में बताता है.
Port
एक ऐसा ऑब्जेक्ट जो दूसरे पेजों के साथ दो-तरफ़ा बातचीत करने की सुविधा देता है. ज़्यादा जानकारी के लिए, लंबे समय से कनेक्शन देखें.
प्रॉपर्टी
-
नाम
स्ट्रिंग
पोर्ट का नाम, जैसा कि
runtime.connect
को किए गए कॉल में बताया गया है. -
onDisconnect
इवेंट<Functionvoid>
यह तब ट्रिगर होता है, जब पोर्ट को दूसरे सिरे से डिसकनेक्ट कर दिया जाता है. अगर पोर्ट को किसी गड़बड़ी की वजह से डिसकनेक्ट किया गया था, तो
runtime.lastError
को सेट किया जा सकता है. अगर पोर्ट को डिसकनेक्ट करके बंद किया जाता है, तो यह इवेंट सिर्फ़ दूसरे वर्शन पर ट्रिगर होगा. यह इवेंट एक से ज़्यादा बार फ़ायर होता है (पोर्ट लाइफ़टाइम भी देखें).onDisconnect.addListener
फ़ंक्शन इस तरह दिखता है:(callback: function) => {...}
-
onMessage
इवेंट<Functionvoid>
यह इवेंट तब ट्रिगर होता है, जब पोर्ट के दूसरे सिरे से 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 'विंडो' को वापस लाता है ऑब्जेक्ट है. अगर बैकग्राउंड पेज कोई इवेंट पेज है, तो सिस्टम यह पक्का करेगा कि कॉलबैक को कॉल करने से पहले, वह लोड हो गया हो. अगर कोई बैकग्राउंड पेज नहीं है, तो गड़बड़ी सेट हो जाती है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन वैकल्पिक
callback
पैरामीटर ऐसा दिखता है:(backgroundPage?: Window) => void
-
backgroundPage
विंडो ज़रूरी नहीं
JavaScript 'विंडो' ऑब्जेक्ट है.
-
रिटर्न
-
Promise<Window | तय नहीं है>
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,
)
पैकेज डायरेक्ट्री के लिए डायरेक्ट्री एंट्री दिखाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन वैकल्पिक
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](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<object>
Chrome 109 और उसके बाद वाले वर्शनमेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.
restart()
chrome.runtime.restart()
जब ऐप्लिकेशन कीऑस्क मोड में चले, तो ChromeOS डिवाइस को रीस्टार्ट करें. नहीं तो, कोई बात नहीं.
restartAfterDelay()
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
की मदद से) से बनाया जाता है.
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
-
विवरण
ऑब्जेक्ट
-
आईडी
स्ट्रिंग ज़रूरी नहीं
इससे, शेयर किए गए इंपोर्ट किए गए मॉड्यूल एक्सटेंशन के उस आईडी का पता चलता है जिसे अपडेट किया गया है. यह सिर्फ़ तब मौजूद होता है, जब 'वजह' होता है '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 कीऑस्क ऐप्लिकेशन के लिए ट्रिगर होता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(reason: OnRestartRequiredReason) => void
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.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 | तय नहीं है
-