refresh date: 2026-09-25 robots: noindex
ब्यौरा
ध्यान दें: इस एपीआई का इस्तेमाल अब नहीं किया जा सकेगा. इसके बजाय, declarativeNetRequest एपीआई देखें. chrome.declarativeWebRequest एपीआई का इस्तेमाल करके, फ़्लाइट में अनुरोधों को इंटरसेप्ट, ब्लॉक या उनमें बदलाव किया जा सकता है. यह chrome.webRequest API से काफ़ी तेज़ है. इसकी वजह यह है कि इसमें ऐसे नियम रजिस्टर किए जा सकते हैं जिनका आकलन JavaScript इंजन के बजाय ब्राउज़र में किया जाता है. इससे राउंडट्रिप में लगने वाला समय कम हो जाता है और ज़्यादा बेहतर तरीके से काम किया जा सकता है.
अनुमतियां
declarativeWebRequestइस एपीआई का इस्तेमाल करने के लिए, आपको एक्सटेंशन मेनिफ़ेस्ट में "declarativeWebRequest" अनुमति का एलान करना होगा. साथ ही, होस्ट करने की अनुमतियां भी देनी होंगी.
{
"name": "My extension",
...
"permissions": [
"declarativeWebRequest",
"*://*/*"
],
...
}
उपलब्धता
मेनिफ़ेस्ट
ध्यान दें कि कुछ ऐसी कार्रवाइयां होती हैं जिनमें संवेदनशील जानकारी शामिल नहीं होती. इनके लिए, होस्ट की अनुमतियों की ज़रूरत नहीं होती:
CancelRequestIgnoreRulesRedirectToEmptyDocumentRedirectToTransparentImage
SendMessageToExtension() कार्रवाई के लिए, उन सभी होस्ट के लिए होस्ट की अनुमतियां ज़रूरी होती हैं जिनके नेटवर्क अनुरोधों पर आपको मैसेज ट्रिगर करना है.
अन्य सभी कार्रवाइयों के लिए, सभी यूआरएल पर होस्ट की अनुमतियां ज़रूरी होती हैं.
उदाहरण के लिए, अगर किसी एक्सटेंशन के पास सिर्फ़ "https://*.google.com/*" की अनुमति है, तो वह एक्सटेंशन ये काम करने के लिए नियम सेट अप कर सकता है:
https://www.google.comयाhttps://anything.else.comसे लिंक करने का अनुरोध रद्द करें.https://www.google.comपर नेविगेट करते समय मैसेज भेजो, लेकिनhttps://something.else.comपर नहीं.
एक्सटेंशन, https://www.google.com को https://mail.google.com पर रीडायरेक्ट करने का नियम सेट अप नहीं कर सकता.
नियम
Declarative Web Request API, Declarative API के सिद्धांतों का पालन करता है. chrome.declarativeWebRequest.onRequest इवेंट ऑब्जेक्ट के लिए, नियमों को रजिस्टर किया जा सकता है.
Declarative Web Request API, मैच करने की एक ही तरह की शर्त के साथ काम करता है. यह शर्त RequestMatcher है. RequestMatcher, नेटवर्क अनुरोधों से तब ही मैच करता है, जब सूची में दी गई सभी शर्तें पूरी की गई हों. जब उपयोगकर्ता, ओम्निबॉक्स में https://www.example.com डालता है, तब यहां दिया गया RequestMatcher, नेटवर्क अनुरोध से मैच करेगा:
var matcher = new chrome.declarativeWebRequest.RequestMatcher({
url: { hostSuffix: 'example.com', schemes: ['http'] },
resourceType: ['main_frame']
});
स्कीम की वजह से, RequestMatcher से किए गए https://www.example.com के अनुरोधों को अस्वीकार कर दिया जाएगा.
साथ ही, एम्बेड किए गए iframe के सभी अनुरोधों को resourceType की वजह से अस्वीकार कर दिया जाएगा.
"example.com" के सभी अनुरोधों को रद्द करने के लिए, इस तरह का नियम बनाया जा सकता है:
var rule = {
conditions: [
new chrome.declarativeWebRequest.RequestMatcher({
url: { hostSuffix: 'example.com' } })
],
actions: [
new chrome.declarativeWebRequest.CancelRequest()
]
};
example.com और foobar.com के सभी अनुरोधों को रद्द करने के लिए, दूसरी शर्त जोड़ी जा सकती है. ऐसा इसलिए, क्योंकि हर शर्त, बताई गई सभी कार्रवाइयों को ट्रिगर करने के लिए काफ़ी है:
var rule2 = {
conditions: [
new chrome.declarativeWebRequest.RequestMatcher({
url: { hostSuffix: 'example.com' } }),
new chrome.declarativeWebRequest.RequestMatcher({
url: { hostSuffix: 'foobar.com' } })
],
actions: [
new chrome.declarativeWebRequest.CancelRequest()
]
};
नियमों को इस तरह रजिस्टर करें:
chrome.declarativeWebRequest.onRequest.addRules([rule2]);
शर्तों और कार्रवाइयों का आकलन
Declarative Web Request API, Web Request API के वेब अनुरोधों के लाइफ़ साइकल मॉडल का पालन करता है. इसका मतलब है कि शर्तों को सिर्फ़ वेब अनुरोध के कुछ खास चरणों में ही टेस्ट किया जा सकता है. इसी तरह, कार्रवाइयों को भी सिर्फ़ कुछ खास चरणों में ही पूरा किया जा सकता है. यहां दी गई टेबल में, अनुरोध के उन चरणों की सूची दी गई है जो शर्तों और कार्रवाइयों के साथ काम करते हैं.
| अनुरोध के वे चरण जिनके दौरान शर्त वाले एट्रिब्यूट प्रोसेस किए जा सकते हैं. | ||||
|---|---|---|---|---|
| 'शर्त' एट्रिब्यूट | onBeforeRequest | onBeforeSendHeaders | onHeadersReceived | onAuthRequired |
url |
✓ | ✓ | ✓ | ✓ |
resourceType |
✓ | ✓ | ✓ | ✓ |
contentType |
✓ | |||
excludeContentType |
✓ | |||
responseHeaders |
✓ | |||
excludeResponseHeaders |
✓ | |||
requestHeaders |
✓ | |||
excludeRequestHeaders |
✓ | |||
thirdPartyForCookies |
✓ | ✓ | ✓ | ✓ |
| अनुरोध के ऐसे चरण जिनके दौरान कार्रवाइयां की जा सकती हैं. | ||||
| इवेंट | onBeforeRequest | onBeforeSendHeaders | onHeadersReceived | onAuthRequired |
AddRequestCookie |
✓ | |||
AddResponseCookie |
✓ | |||
AddResponseHeader |
✓ | |||
CancelRequest |
✓ | ✓ | ✓ | ✓ |
EditRequestCookie |
✓ | |||
EditResponseCookie |
✓ | |||
IgnoreRules |
✓ | ✓ | ✓ | ✓ |
RedirectByRegEx |
✓ | ✓ | ||
RedirectRequest |
✓ | ✓ | ||
RedirectToEmptyDocument |
✓ | ✓ | ||
RedirectToTransparentImage |
✓ | ✓ | ||
RemoveRequestCookie |
✓ | |||
RemoveRequestHeader |
✓ | |||
RemoveResponseCookie |
✓ | |||
RemoveResponseHeader |
✓ | |||
SendMessageToExtension |
✓ | ✓ | ✓ | ✓ |
SetRequestHeader |
✓ | |||
नियमों को बदलने के लिए प्राथमिकताओं का इस्तेमाल करना
नियमों को प्राथमिकताओं के साथ जोड़ा जा सकता है. इसके बारे में Events API में बताया गया है. इस तरीके का इस्तेमाल, अपवादों को दिखाने के लिए किया जा सकता है. यहां दिए गए उदाहरण में, evil.jpg नाम की सभी इमेज के लिए अनुरोध ब्लॉक किए गए हैं. हालांकि, सर्वर "myserver.com" पर ऐसा नहीं किया गया है.
var rule1 = {
priority: 100,
conditions: [
new chrome.declarativeWebRequest.RequestMatcher({
url: { pathEquals: 'evil.jpg' } })
],
actions: [
new chrome.declarativeWebRequest.CancelRequest()
]
};
var rule2 = {
priority: 1000,
conditions: [
new chrome.declarativeWebRequest.RequestMatcher({
url: { hostSuffix: '.myserver.com' } })
],
actions: [
new chrome.declarativeWebRequest.IgnoreRules({
lowerPriorityThan: 1000 })
]
};
chrome.declarativeWebRequest.onRequest.addRules([rule1, rule2]);
यह समझना ज़रूरी है कि IgnoreRules कार्रवाई, अनुरोध के चरणों में बनी नहीं रहती. वेब अनुरोध के हर चरण में, सभी नियमों की सभी शर्तों का आकलन किया जाता है. अगर IgnoreRules कार्रवाई की जाती है, तो यह सिर्फ़ उन अन्य कार्रवाइयों पर लागू होती है जो एक ही वेब का अनुरोध के लिए, एक ही चरण में की जाती हैं.
टाइप
AddRequestCookie
यह कुकी को अनुरोध में जोड़ता है या कुकी को बदलता है. ऐसा तब होता है, जब एक ही नाम की कोई दूसरी कुकी पहले से मौजूद हो. ध्यान दें कि Cookies API का इस्तेमाल करना बेहतर होता है, क्योंकि इसमें कंप्यूटेशनल लागत कम होती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: AddRequestCookie) => {...}
-
arg
-
returns
-
-
कुकी
अनुरोध में जोड़ी जाने वाली कुकी. किसी भी फ़ील्ड को 'तय नहीं किया गया' के तौर पर मार्क नहीं किया जा सकता.
AddResponseCookie
यह कुकी को रिस्पॉन्स में जोड़ता है या कुकी को बदलता है. ऐसा तब होता है, जब एक ही नाम की कोई दूसरी कुकी पहले से मौजूद हो. ध्यान दें कि Cookies API का इस्तेमाल करना बेहतर होता है, क्योंकि इसमें कंप्यूटेशनल लागत कम होती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: AddResponseCookie) => {...}
-
returns
-
-
कुकी
जवाब में जोड़ी जाने वाली कुकी. नाम और वैल्यू बताना ज़रूरी है.
AddResponseHeader
यह कुकी, इस वेब अनुरोध के जवाब में रिस्पॉन्स हेडर जोड़ती है. ऐसा हो सकता है कि एक से ज़्यादा रिस्पॉन्स हेडर का नाम एक जैसा हो. इसलिए, किसी रिस्पॉन्स हेडर को बदलने के लिए, आपको पहले उसे हटाना होगा. इसके बाद, नया रिस्पॉन्स हेडर जोड़ना होगा.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: AddResponseHeader) => {...}
-
returns
-
-
नाम
स्ट्रिंग
एचटीटीपी रिस्पॉन्स हेडर का नाम.
-
मान
स्ट्रिंग
एचटीटीपी रिस्पॉन्स हेडर की वैल्यू.
CancelRequest
नेटवर्क का अनुरोध रद्द करने वाली डिक्लेरेटिव इवेंट ऐक्शन.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: CancelRequest) => {...}
-
arg
-
returns
-
EditRequestCookie
यह कुकी, अनुरोध की एक या उससे ज़्यादा कुकी में बदलाव करती है. ध्यान दें कि Cookies API का इस्तेमाल करना बेहतर होता है, क्योंकि इसमें कंप्यूटेशनल लागत कम होती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: EditRequestCookie) => {...}
-
returns
-
-
फ़िल्टर
उन कुकी के लिए फ़िल्टर करें जिनमें बदलाव किया जाएगा. खाली एंट्री को अनदेखा कर दिया जाता है.
-
बदलाव
ऐसे एट्रिब्यूट जिन्हें फ़िल्टर से मैच करने वाली कुकी में बदला जाएगा. जिन एट्रिब्यूट की वैल्यू खाली स्ट्रिंग पर सेट होती है उन्हें हटा दिया जाता है.
EditResponseCookie
यह कुकी, रिस्पॉन्स की एक या उससे ज़्यादा कुकी में बदलाव करती है. ध्यान दें कि Cookies API का इस्तेमाल करना बेहतर होता है, क्योंकि इसमें कंप्यूटेशनल लागत कम होती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: EditResponseCookie) => {...}
-
returns
-
-
फ़िल्टर
उन कुकी के लिए फ़िल्टर करें जिनमें बदलाव किया जाएगा. खाली एंट्री को अनदेखा कर दिया जाता है.
-
बदलाव
ऐसे एट्रिब्यूट जिन्हें फ़िल्टर से मैच करने वाली कुकी में बदला जाएगा. जिन एट्रिब्यूट की वैल्यू खाली स्ट्रिंग पर सेट होती है उन्हें हटा दिया जाता है.
FilterResponseCookie
एचटीटीपी रिस्पॉन्स में कुकी का फ़िल्टर.
प्रॉपर्टी
-
ageLowerBound
number optional
कुकी के बने रहने की अवधि की निचली सीमा (मौजूदा समय के बाद सेकंड में तय की जाती है). सिर्फ़ उन कुकी के लिए यह शर्त पूरी होती है जिनके खत्म होने की तारीख और समय को 'now + ageLowerBound' या इसके बाद के समय पर सेट किया गया है. सेशन कुकी, इस फ़िल्टर की शर्त को पूरा नहीं करती हैं. कुकी की समयावधि का हिसाब, कुकी के 'max-age' या 'expires' एट्रिब्यूट से लगाया जाता है. अगर दोनों को सेट किया जाता है, तो कुकी के लाइफ़टाइम का हिसाब लगाने के लिए 'max-age' का इस्तेमाल किया जाता है.
-
ageUpperBound
number optional
कुकी के बने रहने की अवधि की ऊपरी सीमा (मौजूदा समय के बाद सेकंड में तय की जाती है). सिर्फ़ वे कुकी इस शर्त को पूरा करती हैं जिनके खत्म होने की तारीख और समय, [now, now + ageUpperBound] के बीच होता है. सेशन कुकी और ऐसी कुकी जिनकी समयसीमा खत्म होने की तारीख और समय पहले का है वे इस फ़िल्टर की शर्त पूरी नहीं करती हैं. कुकी की समयावधि का हिसाब, कुकी के 'max-age' या 'expires' एट्रिब्यूट से लगाया जाता है. अगर दोनों को सेट किया जाता है, तो कुकी के लाइफ़टाइम का हिसाब लगाने के लिए 'max-age' का इस्तेमाल किया जाता है.
-
डोमेन
string ज़रूरी नहीं है
Domain कुकी एट्रिब्यूट की वैल्यू.
-
समयसीमा खत्म हो जाती है
string ज़रूरी नहीं है
Expires कुकी एट्रिब्यूट की वैल्यू.
-
httpOnly
string ज़रूरी नहीं है
HttpOnly कुकी एट्रिब्यूट का मौजूद होना.
-
maxAge
number optional
Max-Age कुकी एट्रिब्यूट की वैल्यू
-
नाम
string ज़रूरी नहीं है
कुकी का नाम.
-
पाथ
string ज़रूरी नहीं है
पाथ कुकी एट्रिब्यूट की वैल्यू.
-
सुरक्षित
string ज़रूरी नहीं है
सुरक्षित कुकी एट्रिब्यूट मौजूद होना चाहिए.
-
sessionCookie
boolean ज़रूरी नहीं है
यह सेशन कुकी को फ़िल्टर करता है. सेशन कुकी के लिए, 'max-age' या 'expires' एट्रिब्यूट में से किसी में भी समयसीमा तय नहीं की गई है.
-
मान
string ज़रूरी नहीं है
कुकी की वैल्यू को डबल कोट में पैड किया जा सकता है.
HeaderFilter
यह कुकी, अलग-अलग शर्तों के हिसाब से अनुरोध के हेडर फ़िल्टर करती है. एक से ज़्यादा शर्तों का आकलन, कंजंक्शन के तौर पर किया जाता है.
प्रॉपर्टी
-
nameContains
string | string[] ज़रूरी नहीं है
अगर हेडर के नाम में बताई गई सभी स्ट्रिंग मौजूद हैं, तो यह शर्त पूरी होती है.
-
nameEquals
string ज़रूरी नहीं है
अगर हेडर का नाम, तय की गई स्ट्रिंग के बराबर है, तो यह शर्त पूरी होती है.
-
namePrefix
string ज़रूरी नहीं है
अगर हेडर का नाम, तय की गई स्ट्रिंग से शुरू होता है, तो यह शर्त पूरी होती है.
-
nameSuffix
string ज़रूरी नहीं है
अगर हेडर का नाम, तय की गई स्ट्रिंग पर खत्म होता है, तो यह शर्त पूरी होती है.
-
valueContains
string | string[] ज़रूरी नहीं है
अगर हेडर वैल्यू में बताई गई सभी स्ट्रिंग मौजूद हैं, तो यह मैच करता है.
-
valueEquals
string ज़रूरी नहीं है
अगर हेडर वैल्यू, दी गई स्ट्रिंग के बराबर है, तो यह शर्त पूरी होती है.
-
valuePrefix
string ज़रूरी नहीं है
अगर हेडर वैल्यू, तय की गई स्ट्रिंग से शुरू होती है, तो यह शर्त पूरी होती है.
-
valueSuffix
string ज़रूरी नहीं है
अगर हेडर वैल्यू, तय की गई स्ट्रिंग पर खत्म होती है, तो यह मैच करता है.
IgnoreRules
यह तय की गई शर्तों से मेल खाने वाले सभी नियमों को मास्क करता है.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: IgnoreRules) => {...}
-
arg
-
returns
-
-
hasTag
string ज़रूरी नहीं है
अगर इसे सेट किया जाता है, तो तय किए गए टैग वाले नियमों को अनदेखा कर दिया जाता है. अनदेखा करने की यह सुविधा हमेशा के लिए नहीं होती. इसका असर सिर्फ़ नियमों और नेटवर्क के अनुरोध के एक ही चरण की कार्रवाइयों पर पड़ता है. ध्यान दें कि नियमों को उनकी प्राथमिकताओं के घटते क्रम में लागू किया जाता है. इस कार्रवाई से, मौजूदा नियम से कम प्राथमिकता वाले नियमों पर असर पड़ता है. एक जैसी प्राथमिकता वाले नियमों को अनदेखा किया जा सकता है या नहीं भी किया जा सकता.
-
lowerPriorityThan
number optional
अगर इसे सेट किया जाता है, तो तय की गई वैल्यू से कम प्राथमिकता वाले नियमों को अनदेखा किया जाता है. यह बाउंड्री सेव नहीं होती है. इसका असर सिर्फ़ नियमों और नेटवर्क के अनुरोध के एक ही चरण की कार्रवाइयों पर पड़ता है.
RedirectByRegEx
यह कुकी, यूआरएल पर रेगुलर एक्सप्रेशन लागू करके अनुरोध को रीडायरेक्ट करती है. रेगुलर एक्सप्रेशन, RE2 सिंटैक्स का इस्तेमाल करते हैं.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: RedirectByRegEx) => {...}
-
arg
-
returns
-
-
से
स्ट्रिंग
मैच पैटर्न, जिसमें कैप्चर ग्रुप शामिल हो सकते हैं. RE2 सिंटैक्स (\1, \2, ...) के बजाय Perl सिंटैक्स ($1, $2, ...) में कैप्चर ग्रुप का रेफ़रंस दिया जाता है, ताकि JavaScript रेगुलर एक्सप्रेशन के ज़्यादा करीब हो.
-
से
स्ट्रिंग
डेस्टिनेशन पैटर्न.
RedirectRequest
नेटवर्क के अनुरोध को रीडायरेक्ट करने वाली इवेंट ऐक्शन.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: RedirectRequest) => {...}
-
arg
-
returns
-
-
redirectUrl
स्ट्रिंग
वह डेस्टिनेशन जहां अनुरोध को रीडायरेक्ट किया जाता है.
RedirectToEmptyDocument
यह इवेंट ऐक्शन, नेटवर्क अनुरोध को खाली दस्तावेज़ पर रीडायरेक्ट करता है.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: RedirectToEmptyDocument) => {...}
-
returns
-
RedirectToTransparentImage
यह इवेंट ऐक्शन, नेटवर्क अनुरोध को पारदर्शी इमेज पर रीडायरेक्ट करता है.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: RedirectToTransparentImage) => {...}
-
returns
-
RemoveRequestCookie
यह कुकी, अनुरोध की एक या उससे ज़्यादा कुकी हटाती है. ध्यान दें कि Cookies API का इस्तेमाल करना बेहतर होता है, क्योंकि इसमें कंप्यूटेशनल लागत कम होती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: RemoveRequestCookie) => {...}
-
returns
-
-
फ़िल्टर
उन कुकी के लिए फ़िल्टर जिन्हें हटाया जाएगा. खाली एंट्री को अनदेखा कर दिया जाता है.
RemoveRequestHeader
दिए गए नाम के अनुरोध का हेडर हटाता है. एक ही अनुरोध पर, SetRequestHeader और RemoveRequestHeader का इस्तेमाल एक साथ न करें. हर अनुरोध में, अनुरोध का हेडर नाम सिर्फ़ एक बार दिखता है.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: RemoveRequestHeader) => {...}
-
returns
-
-
नाम
स्ट्रिंग
एचटीटीपी अनुरोध के हेडर का नाम (केस-इनसेंसिटिव).
RemoveResponseCookie
यह कुकी, रिस्पॉन्स की एक या उससे ज़्यादा कुकी हटाती है. ध्यान दें कि Cookies API का इस्तेमाल करना बेहतर होता है, क्योंकि इसमें कंप्यूटेशनल लागत कम होती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: RemoveResponseCookie) => {...}
-
returns
-
-
फ़िल्टर
उन कुकी के लिए फ़िल्टर जिन्हें हटाया जाएगा. खाली एंट्री को अनदेखा कर दिया जाता है.
RemoveResponseHeader
यह कुकी, तय किए गए नामों और वैल्यू वाले सभी रिस्पॉन्स हेडर हटा देती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: RemoveResponseHeader) => {...}
-
returns
-
-
नाम
स्ट्रिंग
एचटीटीपी अनुरोध के हेडर का नाम (केस-इनसेंसिटिव).
-
मान
string ज़रूरी नहीं है
एचटीटीपी अनुरोध के हेडर की वैल्यू (केस-इनसेंसिटिव).
RequestCookie
एचटीटीपी अनुरोधों में कुकी का फ़िल्टर या स्पेसिफ़िकेशन.
प्रॉपर्टी
-
नाम
string ज़रूरी नहीं है
कुकी का नाम.
-
मान
string ज़रूरी नहीं है
कुकी की वैल्यू को डबल कोट में पैड किया जा सकता है.
RequestMatcher
यह कुकी, अलग-अलग शर्तों के हिसाब से नेटवर्क इवेंट मैच करती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: RequestMatcher) => {...}
-
arg
-
returns
-
-
contentType
string[] ज़रूरी नहीं है
अगर एचटीटीपी कॉन्टेंट-टाइप हेडर से मिले रिस्पॉन्स का एमआईएमई मीडिया टाइप, सूची में शामिल है, तो यह शर्त पूरी होती है.
-
excludeContentType
string[] ज़रूरी नहीं है
अगर एचटीटीपी कॉन्टेंट-टाइप हेडर से मिले रिस्पॉन्स का एमआईएमई मीडिया टाइप, सूची में नहीं है, तो यह शर्त पूरी होती है.
-
excludeRequestHeaders
HeaderFilter[] optional
अगर कोई भी अनुरोध हेडर, किसी भी HeaderFilter से मैच नहीं होता है, तो यह शर्त पूरी होती है.
-
excludeResponseHeaders
HeaderFilter[] optional
यह तब मैच करता है, जब कोई भी HeaderFilter, रिस्पॉन्स हेडर से मैच नहीं करता.
-
firstPartyForCookiesUrl
UrlFilter ज़रूरी नहीं है
अब काम नहीं करताइसे वर्शन 82 से अनदेखा किया जा रहा है.
अगर अनुरोध के 'पहले पक्ष' के यूआरएल के लिए, UrlFilter की शर्तें पूरी होती हैं, तो यह मैच करता है. अगर अनुरोध में 'पहले पक्ष' का यूआरएल मौजूद है, तो यह अनुरोध के टारगेट यूआरएल से अलग हो सकता है. इससे यह पता चलता है कि कुकी की तीसरे पक्ष की जांच के लिए, 'पहले पक्ष' के तौर पर किसे माना जाता है.
-
requestHeaders
HeaderFilter[] optional
अगर अनुरोध के कुछ हेडर, HeaderFilters में से किसी एक से मैच करते हैं, तो यह शर्त पूरी होती है.
-
resourceType
ResourceType[] optional
अगर अनुरोध का टाइप, सूची में शामिल है, तो यह शर्त पूरी होती है. अनुरोधों को उनके टाइप के हिसाब से फ़िल्टर किया जाएगा.
-
responseHeaders
HeaderFilter[] optional
अगर कुछ रिस्पॉन्स हेडर, किसी HeaderFilters से मैच करते हैं, तो यह शर्त पूरी होती है.
-
स्टेज
Stage[] ज़रूरी नहीं है
इसमें स्ट्रिंग की एक सूची होती है, जिसमें चरणों के बारे में बताया गया होता है. इन वैल्यू का इस्तेमाल किया जा सकता है: 'onBeforeRequest', 'onBeforeSendHeaders', 'onHeadersReceived', 'onAuthRequired'. अगर यह एट्रिब्यूट मौजूद है, तो यह उन चरणों को सीमित करता है जिन पर यह लागू होता है. ध्यान दें कि पूरी शर्त सिर्फ़ उन चरणों में लागू होती है जो सभी एट्रिब्यूट के साथ काम करते हैं.
-
thirdPartyForCookies
boolean ज़रूरी नहीं है
अब काम नहीं करताइसे वर्शन 87 के बाद से अनदेखा किया जाता है.
अगर इसे 'सही है' पर सेट किया जाता है, तो यह उन अनुरोधों से मेल खाता है जिन पर तीसरे पक्ष की कुकी की नीतियां लागू होती हैं. इसे false पर सेट करने पर, यह अन्य सभी अनुरोधों से मैच करता है.
-
url
UrlFilter ज़रूरी नहीं है
अगर अनुरोध के यूआरएल के लिए, UrlFilter की शर्तें पूरी होती हैं, तो यह मैच करता है.
ResponseCookie
एचटीटीपी रिस्पॉन्स में कुकी की खास जानकारी.
प्रॉपर्टी
-
डोमेन
string ज़रूरी नहीं है
Domain कुकी एट्रिब्यूट की वैल्यू.
-
समयसीमा खत्म हो जाती है
string ज़रूरी नहीं है
Expires कुकी एट्रिब्यूट की वैल्यू.
-
httpOnly
string ज़रूरी नहीं है
HttpOnly कुकी एट्रिब्यूट का मौजूद होना.
-
maxAge
number optional
Max-Age कुकी एट्रिब्यूट की वैल्यू
-
नाम
string ज़रूरी नहीं है
कुकी का नाम.
-
पाथ
string ज़रूरी नहीं है
पाथ कुकी एट्रिब्यूट की वैल्यू.
-
सुरक्षित
string ज़रूरी नहीं है
सुरक्षित कुकी एट्रिब्यूट मौजूद है.
-
मान
string ज़रूरी नहीं है
कुकी की वैल्यू को डबल कोट में पैड किया जा सकता है.
SendMessageToExtension
यह declarativeWebRequest.onMessage इवेंट को ट्रिगर करता है.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: SendMessageToExtension) => {...}
-
returns
-
-
मैसेज
स्ट्रिंग
यह वह वैल्यू है जिसे इवेंट हैंडलर को पास की गई डिक्शनरी के
messageएट्रिब्यूट में पास किया जाएगा.
SetRequestHeader
यह कुकी, दिए गए नाम के अनुरोध हेडर को दी गई वैल्यू पर सेट करती है. अगर दिए गए नाम का कोई हेडर पहले से मौजूद नहीं है, तो एक नया हेडर बनाया जाता है. हेडर के नाम की तुलना हमेशा केस-इनसेंसिटिव होती है. हर अनुरोध में, अनुरोध का हेडर नाम सिर्फ़ एक बार दिखता है.
प्रॉपर्टी
-
कंस्ट्रक्टर
void
constructorफ़ंक्शन इस तरह दिखता है:(arg: SetRequestHeader) => {...}
-
arg
-
returns
-
-
नाम
स्ट्रिंग
एचटीटीपी अनुरोध के हेडर का नाम.
-
मान
स्ट्रिंग
एचटीटीपी अनुरोध के हेडर की वैल्यू.
Stage
Enum
"onBeforeRequest"
"onBeforeSendHeaders"
"onHeadersReceived"
"onAuthRequired"
इवेंट
onMessage
chrome.declarativeWebRequest.onMessage.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब डिक्लेरेटिव वेब अनुरोध एपीआई की कार्रवाई से declarativeWebRequest.SendMessageToExtension के ज़रिए कोई मैसेज भेजा जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर ऐसा दिखता है:(details: object) => void
-
ब्यौरा
ऑब्जेक्ट
-
documentId
string ज़रूरी नहीं है
अनुरोध करने वाले दस्तावेज़ का यूयूआईडी.
-
documentLifecycle
दस्तावेज़ का लाइफ़साइकल.
-
frameId
संख्या
वैल्यू 0 से पता चलता है कि अनुरोध मुख्य फ़्रेम में किया गया है. पॉज़िटिव वैल्यू से पता चलता है कि अनुरोध किस सबफ़्रेम में किया गया है. अगर किसी (सब-)फ़्रेम का दस्तावेज़ लोड किया जाता है (
typeहैmain_frameयाsub_frame), तोframeIdइस फ़्रेम का आईडी दिखाता है, न कि आउटर फ़्रेम का आईडी. फ़्रेम आईडी, टैब में यूनीक होते हैं. -
frameType
नेविगेशन किस तरह के फ़्रेम में हुआ.
-
मैसेज
स्ट्रिंग
कॉल करने वाली स्क्रिप्ट से भेजा गया मैसेज.
-
तरीका
स्ट्रिंग
एचटीटीपी का स्टैंडर्ड तरीका.
-
parentDocumentId
string ज़रूरी नहीं है
इस फ़्रेम के मालिक पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई पैरंट नहीं है, तो यह सेट नहीं होता है.
-
parentFrameId
संख्या
उस फ़्रेम का आईडी जो अनुरोध भेजने वाले फ़्रेम को रैप करता है. अगर कोई पैरंट फ़्रेम मौजूद नहीं है, तो इसे -1 पर सेट किया जाता है.
-
requestId
स्ट्रिंग
अनुरोध का आईडी. अनुरोध आईडी, ब्राउज़र सेशन में यूनीक होते हैं. इसलिए, इनका इस्तेमाल एक ही अनुरोध के अलग-अलग इवेंट को आपस में जोड़ने के लिए किया जा सकता है.
-
स्टेज
नेटवर्क अनुरोध की वह स्टेज जिसके दौरान इवेंट ट्रिगर हुआ था.
-
tabId
संख्या
उस टैब का आईडी जिसमें अनुरोध किया गया है. अगर अनुरोध किसी टैब से जुड़ा नहीं है, तो इसे -1 पर सेट करें.
-
timeStamp
संख्या
यह सिग्नल ट्रिगर होने का समय, Epoch के बाद के मिलीसेकंड में.
-
अनुरोध किए गए संसाधन का इस्तेमाल कैसे किया जाएगा.
-
url
स्ट्रिंग
-
-
onRequest
Declarative Events API उपलब्ध कराता है. इसमें addRules, removeRules, और getRules शामिल हैं.
शर्तें
कार्रवाइयां