ब्यौरा
सर्विस वर्कर को वापस पाने, मेनिफ़ेस्ट के बारे में जानकारी देने, और एक्सटेंशन के लाइफ़साइकल में इवेंट को सुनने और उनका जवाब देने के लिए, chrome.runtime एपीआई का इस्तेमाल करें. इस एपीआई का इस्तेमाल करके, यूआरएल के रिलेटिव पाथ को पूरी तरह से मान्य यूआरएल में भी बदला जा सकता है.
इस एपीआई के ज़्यादातर सदस्यों को किसी भी अनुमति की ज़रूरत नहीं होती. यह अनुमति connectNative(), sendNativeMessage(), और onNativeConnect के लिए ज़रूरी है.
यहां दिए गए उदाहरण में, मेनिफ़ेस्ट में "nativeMessaging" अनुमति का एलान करने का तरीका बताया गया है:
manifest.json:
{
"name": "My extension",
...
"permissions": [
"nativeMessaging"
],
...
}
कॉन्सेप्ट और इस्तेमाल
रनटाइम एपीआई, कई तरह के तरीकों के बारे में बताता है. इनका इस्तेमाल करके, एक्सटेंशन को कई तरह से इस्तेमाल किया जा सकता है:
- मैसेज पास करना
- आपका एक्सटेंशन, अपने एक्सटेंशन के अलग-अलग कॉन्टेक्स्ट के साथ-साथ, इन तरीकों और इवेंट का इस्तेमाल करके अन्य एक्सटेंशन के साथ भी कम्यूनिकेट कर सकता है:
connect(),onConnect,onConnectExternal,sendMessage(),onMessage, औरonMessageExternal. इसके अलावा, आपका एक्सटेंशनconnectNative()औरsendNativeMessage()का इस्तेमाल करके, उपयोगकर्ता के डिवाइस पर मौजूद नेटिव ऐप्लिकेशन को मैसेज भेज सकता है.
- एक्सटेंशन और प्लैटफ़ॉर्म के मेटाडेटा को ऐक्सेस करना
- इन तरीकों से, एक्सटेंशन और प्लैटफ़ॉर्म के बारे में मेटाडेटा के कई खास हिस्से वापस पाए जा सकते हैं. इस कैटगरी में,
getManifest()औरgetPlatformInfo()जैसे तरीके शामिल हैं. - एक्सटेंशन की लाइफ़साइकल और विकल्पों को मैनेज करना
- इन प्रॉपर्टी की मदद से, एक्सटेंशन पर कुछ मेटा-ऑपरेशन किए जा सकते हैं. साथ ही, विकल्पों वाला पेज दिखाया जा सकता है.
इस कैटगरी के तरीकों और इवेंट में ये शामिल हैं:
onInstalled,onStartup,openOptionsPage(),reload(),requestUpdateCheck(), औरsetUninstallURL(). - हेल्पर यूटिलिटी
- इन तरीकों से, इंटरनल रिसॉर्स के प्रज़ेंटेशन को बाहरी फ़ॉर्मैट में बदलने जैसी सुविधाएं मिलती हैं. इस कैटगरी में,
getURL()जैसे तरीके शामिल हैं. - कीऑस्क मोड की सुविधाएं
- ये तरीके सिर्फ़ ChromeOS पर उपलब्ध हैं. इनका इस्तेमाल मुख्य रूप से, कीऑस्क मोड में काम करने वाले ऐप्लिकेशन के लिए किया जाता है.
इस कैटगरी के तरीकों में
restart()औरrestartAfterDelay()` शामिल हैं.
अनपैक किए गए एक्सटेंशन का व्यवहार
जब किसी अनपैक किए गए एक्सटेंशन को फिर से लोड किया जाता है, तो इसे अपडेट माना जाता है. इसका मतलब है कि browser.runtime.onInstalled इवेंट, "update" वजह के साथ ट्रिगर होगा. इसमें browser.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 = browser.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
browser.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'
};
browser.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:
browser.runtime.onInstalled.addListener(details => {
if (details.reason === browser.runtime.OnInstalledReason.INSTALL) {
browser.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
string ज़रूरी नहीं
इस कॉन्टेक्स्ट से जुड़े दस्तावेज़ के लिए यूयूआईडी. अगर यह कॉन्टेक्स्ट किसी दस्तावेज़ में होस्ट नहीं किया गया है, तो यह तय नहीं किया गया है.
-
documentOrigin
string ज़रूरी नहीं
इस कॉन्टेक्स्ट से जुड़े दस्तावेज़ का ऑरिजिन. अगर कॉन्टेक्स्ट को किसी दस्तावेज़ में होस्ट नहीं किया गया है, तो यह तय नहीं किया गया है.
-
documentUrl
string ज़रूरी नहीं
इस कॉन्टेक्स्ट से जुड़े दस्तावेज़ का यूआरएल. अगर कॉन्टेक्स्ट को किसी दस्तावेज़ में होस्ट नहीं किया गया है, तो यह तय नहीं किया गया है.
-
frameId
संख्या
इस कॉन्टेक्स्ट के लिए फ़्रेम का आईडी या -1, अगर यह कॉन्टेक्स्ट किसी फ़्रेम में होस्ट नहीं किया गया है.
-
गुप्त मोड
बूलियन
क्या कॉन्टेक्स्ट, गुप्त प्रोफ़ाइल से जुड़ा है.
-
tabId
संख्या
इस कॉन्टेक्स्ट के लिए टैब का आईडी या -1, अगर यह कॉन्टेक्स्ट किसी टैब में होस्ट नहीं किया गया है.
-
windowId
संख्या
इस कॉन्टेक्स्ट के लिए विंडो का आईडी या -1, अगर यह कॉन्टेक्स्ट किसी विंडो में होस्ट नहीं किया गया है.
ExtensionLoadDetails
एक्सटेंशन लोड होने के इवेंट के बारे में जानकारी.
प्रॉपर्टी
-
previousVersion
string ज़रूरी नहीं
इससे एक्सटेंशन के पिछले वर्शन का पता चलता है. यह सिर्फ़ तब मौजूद होता है, जब 'reason' की वैल्यू 'update' या 'enable' हो. अगर 'reason' की वैल्यू 'update' है, तो यह एक्सटेंशन का वह वर्शन है जो अपडेट होने से पहले था. अगर 'reason' की वैल्यू 'enable' है, तो यह एक्सटेंशन का मौजूदा वर्शन है.
-
reason
इस इवेंट को भेजने की वजह.
MessageSender
मैसेज या अनुरोध भेजने वाली स्क्रिप्ट के कॉन्टेक्स्ट की जानकारी देने वाला ऑब्जेक्ट.
प्रॉपर्टी
-
documentId
string ज़रूरी नहीं
Chrome 106+उस दस्तावेज़ का यूयूआईडी जिसने कनेक्शन खोला है.
-
documentLifecycle
string ज़रूरी नहीं
Chrome 106+पोर्ट बनाते समय, कनेक्शन खोलने वाले दस्तावेज़ की लाइफ़साइकल. ध्यान दें कि पोर्ट बनाने के बाद, दस्तावेज़ के लाइफ़साइकल की स्थिति बदल सकती है.
-
frameId
number ज़रूरी नहीं
कनेक्शन खोलने वाला फ़्रेम. टॉप-लेवल फ़्रेम के लिए 0, चाइल्ड फ़्रेम के लिए पॉज़िटिव. यह सिर्फ़ तब सेट होगा, जब
tabसेट होगा. -
आईडी
string ज़रूरी नहीं
कनेक्शन खोलने वाले एक्सटेंशन का आईडी.
-
nativeApplication
string ज़रूरी नहीं
Chrome 74+कनेक्शन खोलने वाले नेटिव ऐप्लिकेशन का नाम, अगर कोई है.
-
origin
string ज़रूरी नहीं
Chrome 80+कनेक्शन खोलने वाले पेज या फ़्रेम का ऑरिजिन. यह यूआरएल प्रॉपर्टी (उदाहरण के लिए, about:blank) से अलग हो सकता है या अपारदर्शी हो सकता है (उदाहरण के लिए, सैंडबॉक्स किए गए iframe). इससे यह पता लगाने में मदद मिलती है कि कॉन्टेंट के सोर्स पर भरोसा किया जा सकता है या नहीं. ऐसा तब होता है, जब हम यूआरएल से तुरंत यह पता नहीं लगा पाते.
-
टैब
टैब ज़रूरी नहीं है
कनेक्शन खोलने वाला
tabs.Tab, अगर कोई है. यह प्रॉपर्टी सिर्फ़ तब मौजूद होगी, जब कनेक्शन को किसी टैब (कॉन्टेंट स्क्रिप्ट के साथ) से खोला गया हो. साथ ही, सिर्फ़ तब मौजूद होगी, जब रिसीवर कोई एक्सटेंशन हो, न कि कोई ऐप्लिकेशन. -
tlsChannelId
string ज़रूरी नहीं
कनेक्शन खोलने वाले पेज या फ़्रेम का टीएलएस चैनल आईडी. ऐसा तब होता है, जब एक्सटेंशन ने इसका अनुरोध किया हो और यह उपलब्ध हो.
-
url
string ज़रूरी नहीं
कनेक्शन खोलने वाले पेज या फ़्रेम का यूआरएल. अगर मैसेज भेजने वाला iframe में है, तो यह iframe का यूआरएल होगा, न कि उसे होस्ट करने वाले पेज का यूआरएल.
OnInstalledReason
इस इवेंट को भेजने की वजह.
Enum
"install"
इससे पता चलता है कि इवेंट की वजह, इंस्टॉलेशन है.
"update"
इससे पता चलता है कि इवेंट की वजह, एक्सटेंशन का अपडेट है.
"chrome_update"
इससे पता चलता है कि इवेंट की वजह Chrome अपडेट है.
"shared_module_update"
इससे पता चलता है कि इवेंट की वजह, शेयर किए गए मॉड्यूल का अपडेट है.
OnLoadedReason
इस इवेंट को भेजने की वजह.
Enum
"install"
एक्सटेंशन को हाल ही में इंस्टॉल किया गया था.
"update"
अपडेट के बाद, एक्सटेंशन को फिर से लोड किया गया.
"browser_update"
ब्राउज़र को नए वर्शन पर अपडेट किया गया.
"enable"
एक्सटेंशन को बंद होने के बाद फिर से चालू किया गया.
"startup"
ब्राउज़र के स्टार्टअप के दौरान एक्सटेंशन लोड हो रहा है.
"reload"
एक्सटेंशन को फिर से लोड किया गया (उदाहरण के लिए, chrome.runtime.reload() के ज़रिए या उपयोगकर्ता ने एक्सटेंशन को मैन्युअल तरीके से फिर से लोड किया).
OnRestartRequiredReason
इवेंट को डिस्पैच करने की वजह. 'app_update' का इस्तेमाल तब किया जाता है, जब ऐप्लिकेशन को नए वर्शन में अपडेट करने की वजह से, उसे रीस्टार्ट करना ज़रूरी हो. 'os_update' का इस्तेमाल तब किया जाता है, जब ब्राउज़र/ओएस को नए वर्शन में अपडेट करने की वजह से, डिवाइस को रीस्टार्ट करना ज़रूरी हो. 'periodic' का इस्तेमाल तब किया जाता है, जब सिस्टम, एंटरप्राइज़ की नीति में सेट किए गए अपटाइम से ज़्यादा समय तक चलता है.
Enum
"app_update"
इससे पता चलता है कि ऐप्लिकेशन को अपडेट करने की वजह से इवेंट ट्रिगर हुआ है.
"os_update"
इससे पता चलता है कि इवेंट की वजह, ऑपरेटिंग सिस्टम का अपडेट है.
"periodic"
इससे पता चलता है कि ऐप्लिकेशन को समय-समय पर रीस्टार्ट किया जाता है.
PlatformArch
मशीन के प्रोसेसर का आर्किटेक्चर.
Enum
"arm"
इससे प्रोसेसर आर्किटेक्चर को arm के तौर पर तय किया जाता है.
"arm64"
इससे प्रोसेसर आर्किटेक्चर को arm64 के तौर पर तय किया जाता है.
"x86-32"
प्रोसेसर आर्किटेक्चर को x86-32 के तौर पर तय करता है.
"x86-64"
इससे प्रोसेसर आर्किटेक्चर को x86-64 के तौर पर सेट किया जाता है.
"mips"
इससे प्रोसेसर आर्किटेक्चर को mips के तौर पर तय किया जाता है.
"mips64"
इससे प्रोसेसर आर्किटेक्चर के बारे में पता चलता है, जैसे कि mips64.
"riscv64"
इससे प्रोसेसर आर्किटेक्चर के बारे में पता चलता है, जैसे कि riscv64.
PlatformInfo
मौजूदा प्लैटफ़ॉर्म के बारे में जानकारी देने वाला ऑब्जेक्ट.
प्रॉपर्टी
-
arch
मशीन के प्रोसेसर का आर्किटेक्चर.
-
nacl_arch
PlatformNaclArch ज़रूरी नहीं
Chrome 149 के बाद से इस्तेमाल नहीं किया जा सकतानेटिव क्लाइंट को पूरी तरह से हटाए जाने के बाद, यह एट्रिब्यूट अब काम नहीं करता.
नेटिव क्लाइंट आर्किटेक्चर. यह कुछ प्लैटफ़ॉर्म पर आर्किटेक्चर से अलग हो सकता है.
-
os
वह ऑपरेटिंग सिस्टम जिस पर Chrome चल रहा है.
PlatformNaclArch
नेटिव क्लाइंट को पूरी तरह से हटाए जाने के बाद, इस enum का इस्तेमाल बंद कर दिया गया है.
नेटिव क्लाइंट आर्किटेक्चर. यह कुछ प्लैटफ़ॉर्म पर आर्किटेक्चर से अलग हो सकता है.
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 ऑपरेटिंग सिस्टम के बारे में पता चलता है.
Port
एक ऐसा ऑब्जेक्ट जो अन्य पेजों के साथ दोतरफ़ा कम्यूनिकेशन की अनुमति देता है. ज़्यादा जानकारी के लिए, लंबे समय तक बने रहने वाले कनेक्शन देखें.
प्रॉपर्टी
-
नाम
स्ट्रिंग
पोर्ट का नाम, जैसा कि
runtime.connectके कॉल में बताया गया है. -
onDisconnect
Event<functionvoidvoid>
यह इवेंट तब ट्रिगर होता है, जब पोर्ट को दूसरे एंड से डिसकनेक्ट किया जाता है. अगर पोर्ट किसी गड़बड़ी की वजह से डिसकनेक्ट हो गया है, तो
runtime.lastErrorसेट किया जा सकता है. अगर पोर्ट को डिसकनेक्ट करके बंद किया जाता है, तो यह इवेंट सिर्फ़ दूसरे एंड पर ट्रिगर होता है. यह इवेंट ज़्यादा से ज़्यादा एक बार ट्रिगर होता है. पोर्ट लाइफ़टाइम भी देखें.onDisconnect.addListenerफ़ंक्शन इस तरह दिखता है:(callback: function) => {...}
-
onMessage
Event<functionvoidvoid>
यह इवेंट तब ट्रिगर होता है, जब पोर्ट के दूसरे सिरे से postMessage को कॉल किया जाता है.
onMessage.addListenerफ़ंक्शन इस तरह दिखता है:(callback: function) => {...}
-
ईमेल भेजने वाला व्यक्ति
MessageSender ज़रूरी नहीं
यह प्रॉपर्टी सिर्फ़ उन पोर्ट पर मौजूद होगी जिन्हें onConnect / onConnectExternal / onConnectNative लिसनर को पास किया गया है.
-
डिसकनेक्ट करें
void
पोर्ट को तुरंत डिसकनेक्ट करें. पहले से डिसकनेक्ट किए गए पोर्ट पर
disconnect()को कॉल करने से कोई असर नहीं पड़ता. पोर्ट डिसकनेक्ट होने पर, इस पोर्ट पर कोई नया इवेंट नहीं भेजा जाएगा.disconnectफ़ंक्शन इस तरह दिखता है:() => {...} -
postMessage
void
पोर्ट के दूसरे सिरे पर मैसेज भेजें. अगर पोर्ट डिसकनेक्ट हो जाता है, तो गड़बड़ी का मैसेज दिखता है.
postMessageफ़ंक्शन इस तरह दिखता है:(message: any) => {...}
-
मैसेज
कोई
Chrome 52 या इसके बाद का वर्शनभेजा जाने वाला मैसेज. इस ऑब्जेक्ट को JSON में बदला जा सकता है.
-
RequestUpdateCheckStatus
अपडेट की जांच का नतीजा.
Enum
"throttled"
इससे पता चलता है कि स्टेटस की जांच को थ्रॉटल किया गया है. ऐसा तब हो सकता है, जब कम समय में कई बार जांच की गई हो.
"no_update"
इससे पता चलता है कि इंस्टॉल करने के लिए कोई अपडेट उपलब्ध नहीं है.
"update_available"
इससे पता चलता है कि इंस्टॉल करने के लिए कोई अपडेट उपलब्ध है.
प्रॉपर्टी
id
एक्सटेंशन/ऐप्लिकेशन का आईडी.
टाइप
स्ट्रिंग
lastError
अगर एपीआई फ़ंक्शन को कॉल करने में कोई गड़बड़ी होती है, तो गड़बड़ी का मैसेज दिखता है. ऐसा न होने पर, गड़बड़ी का मैसेज नहीं दिखता. इसे सिर्फ़ उस फ़ंक्शन के कॉलबैक के दायरे में तय किया जाता है. अगर कोई गड़बड़ी होती है, लेकिन कॉलबैक में runtime.lastError को ऐक्सेस नहीं किया जाता है, तो कंसोल में एक मैसेज लॉग किया जाता है. इसमें गड़बड़ी पैदा करने वाले एपीआई फ़ंक्शन की सूची होती है. प्रॉमिस दिखाने वाले एपीआई फ़ंक्शन, इस प्रॉपर्टी को सेट नहीं करते.
टाइप
ऑब्जेक्ट
प्रॉपर्टी
-
मैसेज
string ज़रूरी नहीं
हुई गड़बड़ी के बारे में जानकारी.
तरीके
connect()
chrome.runtime.connect(
extensionId?: string,
connectInfo?: object,
): Port
किसी एक्सटेंशन (जैसे कि बैकग्राउंड पेज) या अन्य एक्सटेंशन/ऐप्लिकेशन में लिसनर को कनेक्ट करने की कोशिश करता है. यह कॉन्टेंट स्क्रिप्ट के लिए मददगार है. इससे कॉन्टेंट स्क्रिप्ट को उनकी एक्सटेंशन प्रोसेस, ऐप्लिकेशन/एक्सटेंशन के बीच होने वाली बातचीत, और वेब मैसेजिंग से कनेक्ट किया जा सकता है. ध्यान दें कि यह कॉन्टेंट स्क्रिप्ट में मौजूद किसी भी लिसनर से कनेक्ट नहीं होता. एक्सटेंशन, tabs.connect की मदद से टैब में एम्बेड की गई कॉन्टेंट स्क्रिप्ट से कनेक्ट हो सकते हैं.
पैरामीटर
-
extensionId
string ज़रूरी नहीं
उस एक्सटेंशन का आईडी जिससे कनेक्ट करना है. अगर इसे शामिल नहीं किया जाता है, तो आपके एक्सटेंशन से कनेक्ट करने की कोशिश की जाएगी. अगर वेब मैसेजिंग के लिए किसी वेब पेज से मैसेज भेजे जा रहे हैं, तो यह ज़रूरी है.
-
connectInfo
object ज़रूरी नहीं
-
includeTlsChannelId
बूलियन ज़रूरी नहीं
क्या कनेक्शन इवेंट को सुनने वाली प्रोसेस के लिए, टीएलएस चैनल आईडी को onConnectExternal में पास किया जाएगा.
-
नाम
string ज़रूरी नहीं
इसे onConnect में पास किया जाएगा, ताकि कनेक्शन इवेंट को सुनने वाली प्रोसेस को इसकी जानकारी मिल सके.
-
रिटर्न
-
वह पोर्ट जिसके ज़रिए मैसेज भेजे और पाए जा सकते हैं. अगर एक्सटेंशन मौजूद नहीं है, तो पोर्ट का onDisconnect इवेंट ट्रिगर होता है.
connectNative()
chrome.runtime.connectNative(
application: string,
): Port
होस्ट मशीन में मौजूद नेटिव ऐप्लिकेशन से कनेक्ट करता है. इस तरीके के लिए, "nativeMessaging" अनुमति ज़रूरी है. ज़्यादा जानकारी के लिए, नेटिव मैसेजिंग देखें.
पैरामीटर
-
ऐप्लिकेशन
स्ट्रिंग
कनेक्ट करने के लिए, रजिस्टर किए गए ऐप्लिकेशन का नाम.
रिटर्न
-
वह पोर्ट जिसके ज़रिए ऐप्लिकेशन से मैसेज भेजे और पाए जा सकते हैं
getBackgroundPage()
chrome.runtime.getBackgroundPage(): Promise<Window | undefined>
MV3 एक्सटेंशन में बैकग्राउंड पेज मौजूद नहीं होते.
मौजूदा एक्सटेंशन/ऐप्लिकेशन में चल रहे बैकग्राउंड पेज के लिए, JavaScript 'विंडो' ऑब्जेक्ट को वापस लाता है. अगर बैकग्राउंड पेज कोई इवेंट पेज है, तो सिस्टम यह पक्का करेगा कि कॉलबैक को कॉल करने से पहले, उसे लोड कर लिया जाए. अगर कोई बैकग्राउंड पेज नहीं है, तो गड़बड़ी का मैसेज सेट किया जाता है.
रिटर्न
-
वादा<खिड़की | अपरिभाषित>
Chrome 99 या इसके बाद का वर्शन
getContexts()
chrome.runtime.getContexts(
filter: ContextFilter,
): Promise<ExtensionContext[]>
इस एक्सटेंशन से जुड़े ऐक्टिव कॉन्टेक्स्ट की जानकारी फ़ेच करता है
पैरामीटर
-
फ़िल्टर
मिलते-जुलते कॉन्टेक्स्ट ढूंढने के लिए फ़िल्टर. कॉन्टेक्स्ट तब मैच होता है, जब वह फ़िल्टर में बताए गए सभी फ़ील्ड से मैच करता है. फ़िल्टर में मौजूद कोई भी फ़ील्ड, सभी कॉन्टेक्स्ट से मैच करता है.
रिटर्न
-
Promise<ExtensionContext[]>
प्रॉमिस, जो मैच होने वाले कॉन्टेक्स्ट के साथ रिज़ॉल्व होता है, अगर कोई हो.
getManifest()
chrome.runtime.getManifest(): object
मेनिफ़ेस्ट से ऐप्लिकेशन या एक्सटेंशन के बारे में जानकारी दिखाता है. रिस्पॉन्स के तौर पर मिला ऑब्जेक्ट, पूरी मेनिफ़ेस्ट फ़ाइल का सीरियलाइज़ेशन होता है.
रिटर्न
-
ऑब्जेक्ट
मेनिफ़ेस्ट की जानकारी.
getPackageDirectoryEntry()
chrome.runtime.getPackageDirectoryEntry(): Promise<DirectoryEntry>
यह पैकेज डायरेक्ट्री के लिए DirectoryEntry दिखाता है.
रिटर्न
-
वादा<डायरेक्टरीएंट्री>
Chrome 122 या इसके बाद का वर्शन
getPlatformInfo()
chrome.runtime.getPlatformInfo(): Promise<PlatformInfo>
मौजूदा प्लैटफ़ॉर्म के बारे में जानकारी दिखाता है.
रिटर्न
-
Promise<PlatformInfo>
Chrome 99 या इसके बाद का वर्शनप्रॉमिस, जो मौजूदा प्लैटफ़ॉर्म की जानकारी के साथ रिज़ॉल्व होता है.
getURL()
chrome.runtime.getURL(
path: string,
): string
यह किसी ऐप्लिकेशन/एक्सटेंशन की इंस्टॉल डायरेक्ट्री में मौजूद रिलेटिव पाथ को पूरी तरह से मान्य यूआरएल में बदलता है.
पैरामीटर
-
पाथ
स्ट्रिंग
किसी ऐप्लिकेशन/एक्सटेंशन में मौजूद संसाधन का पाथ, जो उसकी इंस्टॉल डायरेक्ट्री के हिसाब से तय होता है.
रिटर्न
-
स्ट्रिंग
संसाधन का पूरी तरह से मान्य यूआरएल.
getVersion()
chrome.runtime.getVersion(): string
मेनिफ़ेस्ट में बताए गए एक्सटेंशन का वर्शन दिखाता है.
रिटर्न
-
स्ट्रिंग
एक्सटेंशन का वर्शन.
openOptionsPage()
chrome.runtime.openOptionsPage(): Promise<void>
अगर हो सके, तो अपने एक्सटेंशन के विकल्पों वाला पेज खोलें.
यह इस बात पर निर्भर करता है कि आपके मेनिफ़ेस्ट की options_ui या options_page कुंजी क्या है या उस समय Chrome किस कुंजी के साथ काम करता है. उदाहरण के लिए, पेज को नए टैब में, chrome://extensions में, किसी ऐप्लिकेशन में खोला जा सकता है या यह सिर्फ़ खुले हुए विकल्प पेज पर फ़ोकस कर सकता है. इससे कॉलर पेज कभी भी फिर से लोड नहीं होगा.
अगर आपका एक्सटेंशन, विकल्पों वाला पेज नहीं दिखाता है या Chrome किसी अन्य वजह से ऐसा पेज नहीं बना पाता है, तो कॉलबैक lastError सेट कर देगा.
रिटर्न
-
वादा<शून्य>
Chrome 99 या इसके बाद का वर्शन
reload()
chrome.runtime.reload(): void
ऐप्लिकेशन या एक्सटेंशन को फिर से लोड करता है. कीऑस्क मोड में यह तरीका काम नहीं करता. कीऑस्क मोड के लिए, chrome.runtime.restart() तरीके का इस्तेमाल करें.
requestUpdateCheck()
chrome.runtime.requestUpdateCheck(): Promise<object>
इस ऐप्लिकेशन/एक्सटेंशन के लिए, तुरंत अपडेट की जांच करने का अनुरोध करता है.
अहम जानकारी: ज़्यादातर एक्सटेंशन/ऐप्लिकेशन को इस तरीके का इस्तेमाल नहीं करना चाहिए. इसकी वजह यह है कि Chrome पहले से ही हर कुछ घंटों में अपने-आप जांच करता है. साथ ही, requestUpdateCheck को कॉल किए बिना भी runtime.onUpdateAvailable इवेंट को सुना जा सकता है.
इस तरीके को सिर्फ़ कुछ मामलों में ही कॉल किया जाना चाहिए. जैसे, अगर आपका एक्सटेंशन किसी बैकएंड सेवा से इंटरैक्ट करता है और बैकएंड सेवा को पता चलता है कि क्लाइंट एक्सटेंशन का वर्शन बहुत पुराना है और आपको उपयोगकर्ता को अपडेट करने के लिए कहना है. requestUpdateCheck के ज़्यादातर अन्य इस्तेमाल, जैसे कि बार-बार चलने वाले टाइमर के आधार पर बिना किसी शर्त के इसे कॉल करना, शायद क्लाइंट, नेटवर्क, और सर्वर के संसाधनों को बर्बाद करते हैं.
ध्यान दें: कॉलबैक के साथ कॉल किए जाने पर, यह फ़ंक्शन कोई ऑब्जेक्ट दिखाने के बजाय, कॉलबैक को पास किए गए अलग-अलग आर्ग्युमेंट के तौर पर दो प्रॉपर्टी दिखाएगा.
रिटर्न
-
Promise<object>
Chrome 109 या इसके बाद का वर्शन
restart()
chrome.runtime.restart(): void
जब ऐप्लिकेशन कीऑस्क मोड में चल रहा हो, तब ChromeOS डिवाइस को रीस्टार्ट करें. ऐसा न करने पर, यह काम नहीं करेगा.
restartAfterDelay()
chrome.runtime.restartAfterDelay(
seconds: number,
): Promise<void>
जब ऐप्लिकेशन कीऑस्क मोड में चल रहा हो, तो दिए गए सेकंड के बाद ChromeOS डिवाइस को रीस्टार्ट करें. अगर समय खत्म होने से पहले फिर से कॉल किया जाता है, तो रीबूट होने में देरी होगी. अगर -1 वैल्यू के साथ कॉल किया जाता है, तो रीबूट रद्द हो जाएगा. यह कीऑस्क मोड के अलावा किसी अन्य मोड में काम नहीं करता. इस एपीआई को कॉल करने वाले पहले एक्सटेंशन को ही इसे बार-बार कॉल करने की अनुमति है.
पैरामीटर
-
सेकंड
संख्या
डिवाइस को रीस्टार्ट करने से पहले, सेकंड में इंतज़ार करने का समय या शेड्यूल किए गए रीस्टार्ट को रद्द करने के लिए -1.
रिटर्न
-
वादा<शून्य>
Chrome 99 या इसके बाद का वर्शनरीस्टार्ट करने के अनुरोध को फिर से शेड्यूल करने पर, Promise रिज़ॉल्व हो जाता है.
sendMessage()
chrome.runtime.sendMessage(
extensionId?: string,
message: any,
options?: object,
): Promise<any>
आपके एक्सटेंशन या किसी दूसरे एक्सटेंशन/ऐप्लिकेशन में मौजूद इवेंट लिसनर को एक मैसेज भेजता है. यह runtime.connect की तरह ही है, लेकिन इसमें सिर्फ़ एक मैसेज भेजा जाता है. साथ ही, इसमें जवाब देने का विकल्प भी होता है. अगर आपके एक्सटेंशन पर भेजा जाता है, तो runtime.onMessage इवेंट आपके एक्सटेंशन के हर फ़्रेम में ट्रिगर होगा. हालांकि, भेजने वाले के फ़्रेम में ऐसा नहीं होगा. इसके अलावा, अगर कोई दूसरा एक्सटेंशन है, तो runtime.onMessageExternal इवेंट ट्रिगर होगा. ध्यान दें कि एक्सटेंशन, इस तरीके का इस्तेमाल करके कॉन्टेंट स्क्रिप्ट को मैसेज नहीं भेज सकते. कॉन्टेंट स्क्रिप्ट को मैसेज भेजने के लिए, tabs.sendMessage का इस्तेमाल करें.
पैरामीटर
-
extensionId
string ज़रूरी नहीं
उस एक्सटेंशन का आईडी जिसे मैसेज भेजना है. अगर इसे शामिल नहीं किया जाता है, तो मैसेज आपके एक्सटेंशन/ऐप्लिकेशन पर भेजा जाएगा. वेब मैसेजिंग के लिए, वेब पेज से मैसेज भेजते समय इसकी ज़रूरत होती है.
-
मैसेज
कोई
भेजा जाने वाला मैसेज. यह मैसेज, JSON-ifiable ऑब्जेक्ट होना चाहिए.
-
विकल्प
object ज़रूरी नहीं
-
includeTlsChannelId
बूलियन ज़रूरी नहीं
कनेक्शन इवेंट को सुनने वाली प्रोसेस के लिए, टीएलएस चैनल आईडी को onMessageExternal में पास किया जाएगा या नहीं.
-
रिटर्न
-
<any> प्रॉमिस
Chrome 99 या इसके बाद का वर्शनChrome 99 में, एक्सटेंशन के कॉन्टेक्स्ट के लिए प्रॉमिस की सुविधा जोड़ी गई थी. किसी वेब पेज से एक्सटेंशन के साथ कम्यूनिकेट करते समय, Chrome 118 से प्रॉमिस उपलब्ध हैं.
sendNativeMessage()
chrome.runtime.sendNativeMessage(
application: string,
message: object,
): Promise<any>
किसी नेटिव ऐप्लिकेशन को एक मैसेज भेजें. इस तरीके के लिए, "nativeMessaging" अनुमति ज़रूरी है.
पैरामीटर
-
ऐप्लिकेशन
स्ट्रिंग
नेटिव मैसेजिंग होस्ट का नाम या टारगेट की जानकारी.
-
मैसेज
ऑब्जेक्ट
वह मैसेज जो नेटिव मैसेजिंग होस्ट को भेजा जाएगा.
रिटर्न
-
<any> प्रॉमिस
Chrome 99 या इसके बाद का वर्शन
setUninstallURL()
chrome.runtime.setUninstallURL(
url: string,
): Promise<void>
यह नीति, एक्सटेंशन को अनइंस्टॉल करने पर विज़िट किए जाने वाले यूआरएल को सेट करती है. इसका इस्तेमाल, सर्वर-साइड डेटा को हटाने, आंकड़ों का विश्लेषण करने, और सर्वे लागू करने के लिए किया जा सकता है. ज़्यादा से ज़्यादा 1023 वर्ण.
पैरामीटर
-
url
स्ट्रिंग
एक्सटेंशन को अनइंस्टॉल करने के बाद खोला जाने वाला यूआरएल. इस यूआरएल में http: या https: स्कीम होनी चाहिए. अनइंस्टॉल करने पर नया टैब न खोलने के लिए, खाली स्ट्रिंग सेट करें.
रिटर्न
-
वादा<शून्य>
Chrome 99 या इसके बाद का वर्शनअनइंस्टॉल यूआरएल सेट होने पर रिज़ॉल्व होने वाला प्रॉमिस. अगर दिया गया यूआरएल अमान्य है, तो प्रॉमिस को अस्वीकार कर दिया जाएगा.
इवेंट
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" अनुमति ज़रूरी है. यह सुविधा सिर्फ़ ChromeOS पर काम करती है.
onEnabled
chrome.runtime.onEnabled.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब किसी एक्सटेंशन को बंद से चालू स्थिति में लाया जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
onExtensionLoaded
chrome.runtime.onExtensionLoaded.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब एक्सटेंशन को चालू एक्सटेंशन के सेट में जोड़ा जाता है. ऐसा कई मामलों में हो सकता है: जब कोई एक्सटेंशन पहली बार इंस्टॉल किया जाता है, नए वर्शन पर अपडेट किया जाता है, बंद होने के बाद फिर से चालू किया जाता है, फिर से लोड किया जाता है, ब्राउज़र के स्टार्टअप के दौरान लोड किया जाता है या ब्राउज़र को नए वर्शन पर अपडेट करने के बाद लोड किया जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(details: ExtensionLoadDetails) => void
-
विवरण
-
onInstalled
chrome.runtime.onInstalled.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब एक्सटेंशन को पहली बार इंस्टॉल किया जाता है, एक्सटेंशन को नए वर्शन में अपडेट किया जाता है, और Chrome को नए वर्शन में अपडेट किया जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(details: object) => void
-
विवरण
ऑब्जेक्ट
-
आईडी
string ज़रूरी नहीं
इससे, इंपोर्ट किए गए उस शेयर किए गए मॉड्यूल एक्सटेंशन का आईडी पता चलता है जिसे अपडेट किया गया है. यह सिर्फ़ तब मौजूद होता है, जब 'reason' की वैल्यू 'shared_module_update' हो.
-
previousVersion
string ज़रूरी नहीं
इससे एक्सटेंशन के पिछले वर्शन का पता चलता है, जिसे अभी-अभी अपडेट किया गया है. यह सिर्फ़ तब मौजूद होता है, जब 'reason' की वैल्यू 'update' हो.
-
reason
इस इवेंट को भेजने की वजह.
-
-
onMessage
chrome.runtime.onMessage.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब runtime.sendMessage या tabs.sendMessage से कोई मैसेज भेजा जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(message: any, sender: MessageSender, sendResponse: function) => boolean | Promise<any> | undefined
-
मैसेज
कोई
-
ईमेल भेजने वाला व्यक्ति
-
sendResponse
फ़ंक्शन
sendResponseपैरामीटर कुछ ऐसा दिखता है:(response?: any) => void
-
जवाब
ज़रूरी नहीं
मैसेज भेजने वाले को जवाब देना.
-
-
returns
boolean | Promise<any> | undefined
-
onMessageExternal
chrome.runtime.onMessageExternal.addListener(
callback: function,
)
यह तब ट्रिगर होता है, जब किसी दूसरे एक्सटेंशन से मैसेज भेजा जाता है (runtime.sendMessage से). इसका इस्तेमाल कॉन्टेंट स्क्रिप्ट में नहीं किया जा सकता.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(message: any, sender: MessageSender, sendResponse: function) => boolean | Promise<any> | undefined
-
मैसेज
कोई
-
ईमेल भेजने वाला व्यक्ति
-
sendResponse
फ़ंक्शन
sendResponseपैरामीटर कुछ ऐसा दिखता है:(response?: any) => void
-
जवाब
ज़रूरी नहीं
मैसेज भेजने वाले को जवाब देना.
-
-
returns
boolean | Promise<any> | undefined
-
onRestartRequired
chrome.runtime.onRestartRequired.addListener(
callback: function,
)
यह तब ट्रिगर होता है, जब किसी ऐप्लिकेशन या उस डिवाइस को रीस्टार्ट करना ज़रूरी हो जिस पर वह ऐप्लिकेशन चल रहा है. ऐप्लिकेशन को अपनी सभी विंडो जल्द से जल्द बंद कर देनी चाहिए, ताकि रीस्टार्ट की प्रोसेस शुरू हो सके. अगर ऐप्लिकेशन कुछ नहीं करता है, तो 24 घंटे के ग्रेस पीरियड के बाद उसे रीस्टार्ट कर दिया जाएगा. फ़िलहाल, यह इवेंट सिर्फ़ Chrome OS कीऑस्क ऐप्लिकेशन के लिए ट्रिगर होता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(reason: OnRestartRequiredReason) => void
-
reason
-
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पैरामीटर कुछ ऐसा दिखता है:(response?: any) => void
-
जवाब
ज़रूरी नहीं
मैसेज भेजने वाले को जवाब देना.
-
-
returns
boolean | undefined
-