ब्यौरा
अलग-अलग कॉन्टेक्स्ट में स्क्रिप्ट चलाने के लिए, chrome.scripting
एपीआई का इस्तेमाल करें.
अनुमतियां
scripting
उपलब्धता
मेनिफ़ेस्ट
chrome.scripting
एपीआई का इस्तेमाल करने के लिए, मेनिफ़ेस्ट में "scripting"
अनुमति के साथ-साथ स्क्रिप्ट इंजेक्ट करने के लिए पेजों के होस्ट की अनुमतियों का एलान करें. "host_permissions"
कुंजी या "activeTab"
अनुमति का इस्तेमाल करें. इससे, होस्ट को कुछ समय के लिए अनुमतियां मिलती हैं. नीचे दिए गए उदाहरण में, ActiveTab की अनुमति का इस्तेमाल किया गया है.
{
"name": "Scripting Extension",
"manifest_version": 3,
"permissions": ["scripting", "activeTab"],
...
}
सिद्धांत और उनका इस्तेमाल
JavaScript और सीएसएस को इंजेक्ट करने के लिए, chrome.scripting
एपीआई का इस्तेमाल किया जा सकता है
वेबसाइटें. यह कॉन्टेंट की मदद से किया जा सकने वाला तरीका जैसा है
स्क्रिप्ट. हालांकि, chrome.scripting
नेमस्पेस का इस्तेमाल करके, एक्सटेंशन
रनटाइम के दौरान फ़ैसले ले सकते हैं.
इंजेक्शन टारगेट
JavaScript इंजेक्ट करने के लिए टारगेट तय करने के लिए, target
पैरामीटर का इस्तेमाल किया जा सकता है या
में सीएसएस देने होंगे.
सिर्फ़ tabId
फ़ील्ड को भरना ज़रूरी है. डिफ़ॉल्ट रूप से, इंजेक्शन
दिए गए टैब के मुख्य फ़्रेम पर जाएं.
function getTabId() { ... }
chrome.scripting
.executeScript({
target : {tabId : getTabId()},
files : [ "script.js" ],
})
.then(() => console.log("script injected"));
किसी खास टैब के सभी फ़्रेम में चलाने के लिए, allFrames
बूलियन सेट किया जा सकता है
true
तक.
function getTabId() { ... }
chrome.scripting
.executeScript({
target : {tabId : getTabId(), allFrames : true},
files : [ "script.js" ],
})
.then(() => console.log("script injected in all frames"));
अलग-अलग फ़्रेम का इस्तेमाल करके, टैब के खास फ़्रेम इंजेक्ट किए जा सकते हैं
आईडी. फ़्रेम आईडी के बारे में ज़्यादा जानकारी के लिए, chrome.webNavigation
API.
function getTabId() { ... }
chrome.scripting
.executeScript({
target : {tabId : getTabId(), frameIds : [ frameId1, frameId2 ]},
files : [ "script.js" ],
})
.then(() => console.log("script injected on target frames"));
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
डाला गया कोड
एक्सटेंशन, कोड को बाहरी फ़ाइल या रनटाइम वैरिएबल के लिए तय किया गया है.
फ़ाइलें
फ़ाइलों को स्ट्रिंग के तौर पर दिखाया जाता है. ये एक्सटेंशन के रूट से मिलते-जुलते पाथ होते हैं
डायरेक्ट्री. यह कोड, script.js
फ़ाइल को मुख्य फ़ोल्डर में इंजेक्ट करेगा
टैब के फ़्रेम के बारे में बताता है.
function getTabId() { ... }
chrome.scripting
.executeScript({
target : {tabId : getTabId()},
files : [ "script.js" ],
})
.then(() => console.log("injected script file"));
रनटाइम फ़ंक्शन
scripting.executeScript()
के साथ JavaScript इंजेक्ट करते समय,
फ़ंक्शन को एक्ज़ीक्यूट करने की ज़रूरत नहीं है. इस फ़ंक्शन को कोई फ़ंक्शन होना चाहिए
मौजूदा एक्सटेंशन संदर्भ के लिए उपलब्ध वैरिएबल.
function getTabId() { ... }
function getTitle() { return document.title; }
chrome.scripting
.executeScript({
target : {tabId : getTabId()},
func : getTitle,
})
.then(() => console.log("injected a function"));
function getTabId() { ... }
function getUserColor() { ... }
function changeBackgroundColor() {
document.body.style.backgroundColor = getUserColor();
}
chrome.scripting
.executeScript({
target : {tabId : getTabId()},
func : changeBackgroundColor,
})
.then(() => console.log("injected a function"));
args
प्रॉपर्टी का इस्तेमाल करके, इसे ठीक किया जा सकता है:
function getTabId() { ... }
function getUserColor() { ... }
function changeBackgroundColor(backgroundColor) {
document.body.style.backgroundColor = backgroundColor;
}
chrome.scripting
.executeScript({
target : {tabId : getTabId()},
func : changeBackgroundColor,
args : [ getUserColor() ],
})
.then(() => console.log("injected a function"));
रनटाइम स्ट्रिंग
किसी पेज में सीएसएस इंजेक्ट करते समय, आप इसमें इस्तेमाल की जाने वाली स्ट्रिंग भी तय कर सकते हैं
css
प्रॉपर्टी. यह विकल्प सिर्फ़ scripting.insertCSS()
के लिए उपलब्ध है; की पहचान करें
scripting.executeScript()
का इस्तेमाल करके स्ट्रिंग नहीं चला सकता.
function getTabId() { ... }
const css = "body { background-color: red; }";
chrome.scripting
.insertCSS({
target : {tabId : getTabId()},
css : css,
})
.then(() => console.log("CSS injected"));
नतीजों को मैनेज करना
JavaScript को लागू करने के नतीजे, एक्सटेंशन को भेजे जाते हैं. एक नतीजा हर फ़्रेम के हिसाब से शामिल होता है. मुख्य फ़्रेम के इंडेक्स होने की गारंटी है. यह नतीजे के तौर पर दिखने वाला अरे; बाकी सभी फ़्रेम, तय नहीं किए जा सकते.
function getTabId() { ... }
function getTitle() { return document.title; }
chrome.scripting
.executeScript({
target : {tabId : getTabId(), allFrames : true},
func : getTitle,
})
.then(injectionResults => {
for (const {frameId, result} of injectionResults) {
console.log(`Frame ${frameId} result:`, result);
}
});
scripting.insertCSS()
कोई नतीजा नहीं देता.
वादे
अगर स्क्रिप्ट के एक्ज़ीक्यूट होने से बनने वाली वैल्यू कोई प्रॉमिस है, तो Chrome इंतज़ार करेगा और नतीजा मिलने वाली वैल्यू को वापस करने के प्रॉमिस का इस्तेमाल करें.
function getTabId() { ... }
async function addIframe() {
const iframe = document.createElement("iframe");
const loadComplete =
new Promise(resolve => iframe.addEventListener("load", resolve));
iframe.src = "https://example.com";
document.body.appendChild(iframe);
await loadComplete;
return iframe.contentWindow.document.title;
}
chrome.scripting
.executeScript({
target : {tabId : getTabId(), allFrames : true},
func : addIframe,
})
.then(injectionResults => {
for (const frameResult of injectionResults) {
const {frameId, result} = frameResult;
console.log(`Frame ${frameId} result:`, result);
}
});
उदाहरण
डाइनैमिक कॉन्टेंट की सभी स्क्रिप्ट का रजिस्ट्रेशन रद्द करें
नीचे दिए गए स्निपेट में एक ऐसा फ़ंक्शन है जो सभी डाइनैमिक कॉन्टेंट का रजिस्ट्रेशन रद्द करता है ऐसी स्क्रिप्ट जिन्हें एक्सटेंशन पहले रजिस्टर किया गया है.
async function unregisterAllDynamicContentScripts() {
try {
const scripts = await chrome.scripting.getRegisteredContentScripts();
const scriptIds = scripts.map(script => script.id);
return chrome.scripting.unregisterContentScripts(scriptIds);
} catch (error) {
const message = [
"An unexpected error occurred while",
"unregistering dynamic content scripts.",
].join(" ");
throw new Error(message, {cause : error});
}
}
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
chrome.scripting
API को आज़माने के लिए,
Chrome एक्सटेंशन के सैंपल से स्क्रिप्टिंग सैंपल इंस्टॉल करें
डेटा स्टोर करने की जगह.
टाइप
ContentScriptFilter
प्रॉपर्टी
-
आईडी
स्ट्रिंग[] ज़रूरी नहीं
अगर बताया गया है, तो
getRegisteredContentScripts
सिर्फ़ इस सूची में दिए गए आईडी वाली स्क्रिप्ट दिखाएगा.
CSSInjection
प्रॉपर्टी
-
css
स्ट्रिंग ज़रूरी नहीं
सीएसएस वाली एक स्ट्रिंग जिसे इंजेक्ट करना है.
files
औरcss
में से किसी एक के बारे में बताना ज़रूरी है. -
फ़ाइलें
स्ट्रिंग[] ज़रूरी नहीं
इंजेक्ट की जाने वाली सीएसएस फ़ाइलों का पाथ. यह एक्सटेंशन की रूट डायरेक्ट्री से जुड़ा होता है.
files
औरcss
में से किसी एक के बारे में बताना ज़रूरी है. -
origin
StyleOrigin ज़रूरी नहीं
इंजेक्शन की स्टाइल ऑरिजिन. डिफ़ॉल्ट तौर पर, यह
'AUTHOR'
पर सेट होती है. -
टारगेट
टारगेट में सीएसएस डालने के लिए इस्तेमाल की जाने वाली जानकारी.
ExecutionWorld
स्क्रिप्ट के अंदर एक्ज़ीक्यूट करने के लिए JavaScript की दुनिया.
Enum
"ISOLATED"
अलग-अलग दुनिया के बारे में बताता है, जहां इस एक्सटेंशन को लागू करने का यूनीक एनवायरमेंट होता है.
"MAIN"
DOM की मुख्य दुनिया के बारे में बताता है, जो होस्ट पेज के JavaScript के साथ शेयर किया जाने वाला एक्ज़ीक्यूशन एनवायरमेंट है.
InjectionResult
प्रॉपर्टी
-
documentId
स्ट्रिंग
Chrome 106 और उसके बाद वाले वर्शनइंजेक्शन से जुड़ा दस्तावेज़.
-
frameId
संख्या
Chrome 90 और उसके बाद के वर्शनइंजेक्शन से जुड़ा फ़्रेम.
-
नतीजा
कोई भी वैकल्पिक
स्क्रिप्ट के काम करने का नतीजा.
InjectionTarget
प्रॉपर्टी
-
allFrames
बूलियन ज़रूरी नहीं
स्क्रिप्ट को टैब के अंदर सभी फ़्रेम में इंजेक्ट करना चाहिए या नहीं. डिफ़ॉल्ट तौर पर, 'गलत' पर सेट होती है. अगर
frameIds
बताया गया है, तो यह सही नहीं होना चाहिए. -
documentIds
स्ट्रिंग[] ज़रूरी नहीं
Chrome 106 और उसके बाद वाले वर्शनखास documentId के ID को इंजेक्ट करना होता है. अगर
frameIds
सेट है, तो यह सेट नहीं होना चाहिए. -
frameIds
नंबर[] ज़रूरी नहीं
इंजेक्ट करने के लिए खास फ़्रेम के आईडी.
-
tabId
संख्या
उस टैब का आईडी जिसमें इंजेक्ट करना है.
RegisteredContentScript
प्रॉपर्टी
-
allFrames
बूलियन ज़रूरी नहीं
अगर इसे सही के तौर पर बताया गया है, तो इसे सभी फ़्रेम में शामिल किया जाएगा. भले ही, वह फ़्रेम टैब में सबसे ऊपर वाला फ़्रेम न हो. यूआरएल से जुड़ी ज़रूरी शर्तों का पता लगाने के लिए, हर फ़्रेम की अलग से जांच की जाती है; अगर यूआरएल की शर्तें पूरी नहीं होती हैं, तो यह चाइल्ड फ़्रेम में इंजेक्ट नहीं करेगा. डिफ़ॉल्ट तौर पर 'गलत' पर सेट होती है. इसका मतलब है कि सिर्फ़ सबसे ऊपर का फ़्रेम मैच करता है.
-
css
स्ट्रिंग[] ज़रूरी नहीं
मिलते-जुलते पेजों पर डाली जाने वाली सीएसएस फ़ाइलों की सूची. इन्हें उसी क्रम में इंजेक्ट किया जाता है जिस क्रम में ये इस कलेक्शन में दिखते हैं. पेज के लिए कोई डीओएम बनाने या दिखाने से पहले.
-
excludeMatches
स्ट्रिंग[] ज़रूरी नहीं
इसमें वे पेज शामिल नहीं हैं जिनमें इस कॉन्टेंट स्क्रिप्ट को डाला जाएगा. इन स्ट्रिंग के सिंटैक्स की ज़्यादा जानकारी के लिए, मैच पैटर्न देखें.
-
आईडी
स्ट्रिंग
कॉन्टेंट स्क्रिप्ट का आईडी, जिसे एपीआई कॉल में बताया गया है. '_' से शुरू नहीं होना चाहिए क्योंकि इसे जनरेट किए गए स्क्रिप्ट आईडी के प्रीफ़िक्स के तौर पर रिज़र्व किया जाता है.
-
जेएस
स्ट्रिंग[] ज़रूरी नहीं
मिलते-जुलते पेजों पर डाली जाने वाली JavaScript फ़ाइलों की सूची. इन्हें उसी क्रम में डाला जाता है जिस क्रम में ये इस अरे में दिखते हैं.
-
matchOriginAsFallback
बूलियन ज़रूरी नहीं
Chrome 119 और उसके बाद वाले वर्शनयह बताता है कि स्क्रिप्ट को फ़्रेम में इंजेक्ट किया जा सकता है या नहीं, जहां यूआरएल में काम न करने वाली स्कीम मौजूद है; खास तौर पर: इसके बारे में:, डेटा:, BLOB: या फ़ाइल सिस्टम:. ऐसे मामलों में, यूआरएल के ऑरिजिन की जांच की जाती है, ताकि यह तय किया जा सके कि स्क्रिप्ट को इंजेक्ट किया जाए या नहीं. अगर ऑरिजिन
null
है (जैसा कि डेटा: यूआरएल की सूची में है) तो इस्तेमाल किया गया ऑरिजिन, उस फ़्रेम को माना जाता है जिससे मौजूदा फ़्रेम बनाया गया था या वह फ़्रेम जिसने इस फ़्रेम पर नेविगेशन शुरू किया था. ध्यान दें कि यह पैरंट फ़्रेम नहीं हो सकता. -
मैच
स्ट्रिंग[] ज़रूरी नहीं
इससे पता चलता है कि कॉन्टेंट की इस स्क्रिप्ट को किन पेजों में डाला जाएगा. इन स्ट्रिंग के सिंटैक्स की ज़्यादा जानकारी के लिए, मैच पैटर्न देखें.
registerContentScripts
के लिए बताया जाना चाहिए. -
persistAcrossSessions
बूलियन ज़रूरी नहीं
इससे पता चलता है कि कॉन्टेंट की यह स्क्रिप्ट, आने वाले सेशन में जारी रहेगी या नहीं. डिफ़ॉल्ट रूप से, 'सही' होता है.
-
runAt
RunAt ज़रूरी नहीं है
इस नीति से पता चलता है कि JavaScript फ़ाइलों को वेब पेज में कब डाला जाता है. पसंदीदा और डिफ़ॉल्ट वैल्यू
document_idle
है. -
दुनिया
ExecutionWorld ज़रूरी नहीं है
Chrome 102 और उसके बाद वाले वर्शनJavaScript "world" में स्क्रिप्ट चलाने के लिए. डिफ़ॉल्ट तौर पर, यह
ISOLATED
पर सेट होती है.
ScriptInjection
प्रॉपर्टी
-
आर्ग्युमेंट
कोई भी[] ज़रूरी नहीं
Chrome 92 और उसके बाद वाले वर्शन के लिएदिए गए फ़ंक्शन को पास किए जाने वाले आर्ग्युमेंट. यह सिर्फ़ तब मान्य होता है, जब
func
पैरामीटर तय किया गया हो. ये आर्ग्युमेंट, JSON फ़ॉर्मैट में क्रम में लगाए जा सकने वाले होने चाहिए. -
फ़ाइलें
स्ट्रिंग[] ज़रूरी नहीं
इंजेक्ट करने के लिए JS या सीएसएस फ़ाइलों का पाथ, जो एक्सटेंशन की रूट डायरेक्ट्री से जुड़ा होता है.
files
याfunc
में से कोई एक बताना ज़रूरी है. -
injectImmediately
बूलियन ज़रूरी नहीं
Chrome 102 और उसके बाद वाले वर्शनक्या इंजेक्शन को जल्द से जल्द टारगेट में ट्रिगर किया जाना चाहिए. ध्यान दें कि यह इस बात की गारंटी नहीं है कि पेज लोड होने से पहले ही इंजेक्शन लगाया जाएगा. ऐसा इसलिए, क्योंकि हो सकता है कि स्क्रिप्ट के टारगेट तक पहुंचने से पहले पेज पहले ही लोड हो चुका हो.
-
टारगेट
उस टारगेट के बारे में बताने वाली जानकारी जिसमें स्क्रिप्ट इंजेक्ट करनी है.
-
दुनिया
ExecutionWorld ज़रूरी नहीं है
Chrome 95 या इसके बाद के वर्शनJavaScript "world" में स्क्रिप्ट चलाने के लिए. डिफ़ॉल्ट तौर पर, यह
ISOLATED
पर सेट होती है. -
func
अमान्य ज़रूरी नहीं
Chrome 92 और उसके बाद वाले वर्शन के लिएइंजेक्ट करने के लिए JavaScript फ़ंक्शन. इस फ़ंक्शन को क्रम से लगाया जाएगा और फिर इंजेक्शन के लिए डीसीरियलाइज़ किया जाएगा. इसका मतलब है कि बाउंड पैरामीटर और लागू करने का कॉन्टेक्स्ट हट जाएंगे.
files
याfunc
में से कोई एक बताना ज़रूरी है.func
फ़ंक्शन इस तरह दिखता है:() => {...}
StyleOrigin
स्टाइल बदलने की शुरुआत. ज़्यादा जानकारी के लिए स्टाइल का ऑरिजिन देखें.
Enum
"AUTHOR"
"USER"
तरीके
executeScript()
chrome.scripting.executeScript(
injection: ScriptInjection,
callback?: function,
)
टारगेट कॉन्टेक्स्ट में स्क्रिप्ट इंजेक्ट करता है. डिफ़ॉल्ट रूप से, स्क्रिप्ट document_idle
पर या अगर पेज पहले से लोड हो चुका है, तो तुरंत चलने लगेगा. अगर injectImmediately
प्रॉपर्टी सेट की गई है, तो स्क्रिप्ट इंतज़ार किए बिना इंजेक्ट करेगी, भले ही पेज पूरी तरह लोड न हुआ हो. अगर स्क्रिप्ट प्रॉमिस का आकलन करती है, तो ब्राउज़र प्रॉमिस के सेटलमेंट और मिलने वाली वैल्यू का इंतज़ार करेगा.
पैरामीटर
-
इंजेक्शन
उस स्क्रिप्ट के बारे में जानकारी जिसे इंजेक्ट करना है.
-
कॉलबैक
फ़ंक्शन वैकल्पिक
callback
पैरामीटर ऐसा दिखता है:(results: InjectionResult[]) => void
-
नतीजे
-
रिटर्न
-
Promise<InjectionResult[]>
Chrome 90 और उसके बाद के वर्शनमेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.
getRegisteredContentScripts()
chrome.scripting.getRegisteredContentScripts(
filter?: ContentScriptFilter,
callback?: function,
)
इस एक्सटेंशन के लिए, डाइनैमिक तौर पर रजिस्टर की गई वे सभी कॉन्टेंट स्क्रिप्ट दिखाता है जो दिए गए फ़िल्टर से मेल खाती हैं.
पैरामीटर
-
फ़िल्टर करें
ContentScriptFilter ज़रूरी नहीं
एक्सटेंशन की डाइनैमिक रूप से रजिस्टर की गई स्क्रिप्ट को फ़िल्टर करने के लिए ऑब्जेक्ट.
-
कॉलबैक
फ़ंक्शन वैकल्पिक
callback
पैरामीटर ऐसा दिखता है:(scripts: RegisteredContentScript[]) => void
-
स्क्रिप्ट
-
रिटर्न
-
Promise<RegisteredContentScript[]>
मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.
insertCSS()
chrome.scripting.insertCSS(
injection: CSSInjection,
callback?: function,
)
टारगेट कॉन्टेक्स्ट में सीएसएस स्टाइलशीट को शामिल करता है. अगर एक से ज़्यादा फ़्रेम सेट किए गए हैं, तो गलत इंजेक्शन को अनदेखा कर दिया जाता है.
पैरामीटर
-
इंजेक्शन
शामिल की जाने वाली स्टाइल की जानकारी.
-
कॉलबैक
फ़ंक्शन वैकल्पिक
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
प्रॉमिस<void>
Chrome 90 और उसके बाद के वर्शनमेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.
registerContentScripts()
chrome.scripting.registerContentScripts(
scripts: RegisteredContentScript[],
callback?: function,
)
इस एक्सटेंशन के लिए एक या उससे ज़्यादा कॉन्टेंट स्क्रिप्ट रजिस्टर करती है.
पैरामीटर
-
स्क्रिप्ट
इसमें रजिस्टर की जाने वाली स्क्रिप्ट की सूची शामिल होती है. अगर स्क्रिप्ट पार्स करने/फ़ाइल की पुष्टि करने के दौरान गड़बड़ियां होती हैं, या बताए गए आईडी पहले से मौजूद होते हैं, तो कोई स्क्रिप्ट रजिस्टर नहीं की जाती है.
-
कॉलबैक
फ़ंक्शन वैकल्पिक
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
प्रॉमिस<void>
मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.
removeCSS()
chrome.scripting.removeCSS(
injection: CSSInjection,
callback?: function,
)
टारगेट कॉन्टेक्स्ट से, इस एक्सटेंशन के ज़रिए शामिल की गई सीएसएस स्टाइलशीट को हटाता है.
पैरामीटर
-
इंजेक्शन
हटाई जाने वाली स्टाइल की जानकारी. ध्यान दें कि
css
,files
, औरorigin
प्रॉपर्टी,insertCSS
के ज़रिए डाली गई स्टाइलशीट से पूरी तरह मेल खानी चाहिए. गैर-मौजूद स्टाइलशीट को हटाने का प्रयास करना संभव नहीं है. -
कॉलबैक
फ़ंक्शन वैकल्पिक
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
प्रॉमिस<void>
मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.
unregisterContentScripts()
chrome.scripting.unregisterContentScripts(
filter?: ContentScriptFilter,
callback?: function,
)
इस एक्सटेंशन के लिए कॉन्टेंट स्क्रिप्ट का रजिस्ट्रेशन रद्द करता है.
पैरामीटर
-
फ़िल्टर करें
ContentScriptFilter ज़रूरी नहीं
अगर तय किया गया है, तो सिर्फ़ फ़िल्टर से मेल खाने वाली डाइनैमिक कॉन्टेंट स्क्रिप्ट का रजिस्ट्रेशन रद्द किया जाता है. ऐसा न करने पर, एक्सटेंशन की सभी डाइनैमिक कॉन्टेंट स्क्रिप्ट का रजिस्ट्रेशन रद्द हो जाएगा.
-
कॉलबैक
फ़ंक्शन वैकल्पिक
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
प्रॉमिस<void>
मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.
updateContentScripts()
chrome.scripting.updateContentScripts(
scripts: RegisteredContentScript[],
callback?: function,
)
इस एक्सटेंशन के लिए एक या ज़्यादा कॉन्टेंट स्क्रिप्ट को अपडेट करता है.
पैरामीटर
-
स्क्रिप्ट
इसमें अपडेट की जाने वाली स्क्रिप्ट की सूची शामिल होती है. मौजूदा स्क्रिप्ट के लिए कोई प्रॉपर्टी सिर्फ़ तब अपडेट की जाती है, जब इस ऑब्जेक्ट में उसकी जानकारी दी गई हो. अगर स्क्रिप्ट पार्स करने/फ़ाइल की पुष्टि करने के दौरान गड़बड़ियां होती हैं या अगर दिए गए आईडी पूरी तरह से रजिस्टर की गई स्क्रिप्ट से मेल नहीं खाते हैं, तो कोई भी स्क्रिप्ट अपडेट नहीं की जाती है.
-
कॉलबैक
फ़ंक्शन वैकल्पिक
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
प्रॉमिस<void>
मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.