ब्यौरा
ध्यान दें: इस एपीआई का इस्तेमाल अब नहीं किया जा सकेगा. इसके बजाय, 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 का इस्तेमाल करना बेहतर होता है, क्योंकि इसमें कंप्यूटेशनल लागत कम होती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: AddRequestCookie) => {...}
-
arg
-
returns
-
-
कुकी
अनुरोध में जोड़ी जाने वाली कुकी. किसी भी फ़ील्ड को तय नहीं किया जा सकता.
AddResponseCookie
यह कुकी को रिस्पॉन्स में जोड़ता है या कुकी को बदलता है. ऐसा तब होता है, जब एक ही नाम की कोई दूसरी कुकी पहले से मौजूद हो. ध्यान दें कि Cookies API का इस्तेमाल करना बेहतर होता है, क्योंकि इसमें कंप्यूटेशनल लागत कम होती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: AddResponseCookie) => {...}
-
returns
-
-
कुकी
जवाब में जोड़ी जाने वाली कुकी. नाम और वैल्यू तय करना ज़रूरी है.
AddResponseHeader
यह वेब अनुरोध के जवाब में, जवाब का हेडर जोड़ता है. एक से ज़्यादा रिस्पॉन्स हेडर का नाम एक जैसा हो सकता है. इसलिए, किसी रिस्पॉन्स हेडर को बदलने के लिए, आपको पहले उसे हटाना होगा. इसके बाद, नया रिस्पॉन्स हेडर जोड़ना होगा.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: AddResponseHeader) => {...}
-
returns
-
-
नाम
स्ट्रिंग
एचटीटीपी रिस्पॉन्स हेडर का नाम.
-
मान
स्ट्रिंग
एचटीटीपी रिस्पॉन्स हेडर की वैल्यू.
CancelRequest
नेटवर्क अनुरोध को रद्द करने वाली इवेंट ऐक्शन.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: CancelRequest) => {...}
-
arg
-
returns
-
EditRequestCookie
यह कुकी, अनुरोध की एक या उससे ज़्यादा कुकी में बदलाव करती है. ध्यान दें कि Cookies API का इस्तेमाल करना बेहतर होता है, क्योंकि इसमें कंप्यूटेशनल लागत कम होती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: EditRequestCookie) => {...}
-
returns
-
-
फ़िल्टर
उन कुकी के लिए फ़िल्टर जिनमें बदलाव किया जाएगा. सभी खाली एंट्री को अनदेखा कर दिया जाता है.
-
बदलाव
फ़िल्टर से मैच करने वाली कुकी में बदले जाने वाले एट्रिब्यूट. जिन एट्रिब्यूट की वैल्यू खाली स्ट्रिंग पर सेट होती है उन्हें हटा दिया जाता है.
EditResponseCookie
यह कुकी, रिस्पॉन्स की एक या उससे ज़्यादा कुकी में बदलाव करती है. ध्यान दें कि Cookies API का इस्तेमाल करना बेहतर होता है, क्योंकि इसमें कंप्यूटेशनल लागत कम होती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: EditResponseCookie) => {...}
-
returns
-
-
फ़िल्टर
उन कुकी के लिए फ़िल्टर जिनमें बदलाव किया जाएगा. सभी खाली एंट्री को अनदेखा कर दिया जाता है.
-
बदलाव
फ़िल्टर से मैच करने वाली कुकी में बदले जाने वाले एट्रिब्यूट. जिन एट्रिब्यूट की वैल्यू खाली स्ट्रिंग पर सेट होती है उन्हें हटा दिया जाता है.
FilterResponseCookie
एचटीटीपी रिस्पॉन्स में कुकी का फ़िल्टर.
प्रॉपर्टी
-
ageLowerBound
number ज़रूरी नहीं
कुकी के बने रहने की अवधि की निचली सीमा (मौजूदा समय के बाद सेकंड में बताई गई है). सिर्फ़ वे कुकी इस शर्त को पूरा करती हैं जिनके खत्म होने की तारीख और समय को 'now + ageLowerBound' या इसके बाद के लिए सेट किया गया है. सेशन कुकी, इस फ़िल्टर की शर्त को पूरा नहीं करती हैं. कुकी के लाइफ़टाइम का हिसाब, कुकी के 'max-age' या 'expires' एट्रिब्यूट से लगाया जाता है. अगर दोनों को तय किया जाता है, तो कुकी के लाइफ़टाइम का हिसाब लगाने के लिए 'max-age' का इस्तेमाल किया जाता है.
-
ageUpperBound
number ज़रूरी नहीं
कुकी के बने रहने की अवधि की सबसे ऊपरी सीमा (मौजूदा समय के बाद सेकंड में बताई गई है). सिर्फ़ वे कुकी इस शर्त को पूरा करती हैं जिनकी समयसीमा खत्म होने की तारीख और समय, [now, now + ageUpperBound] के बीच है. सेशन कुकी और ऐसी कुकी जिनकी समयसीमा खत्म होने की तारीख और समय पहले का है वे इस फ़िल्टर की शर्त पूरी नहीं करती हैं. कुकी के लाइफ़टाइम का हिसाब, कुकी के 'max-age' या 'expires' एट्रिब्यूट से लगाया जाता है. अगर दोनों को तय किया जाता है, तो कुकी के लाइफ़टाइम का हिसाब लगाने के लिए 'max-age' का इस्तेमाल किया जाता है.
-
डोमेन
string ज़रूरी नहीं है
Domain कुकी एट्रिब्यूट की वैल्यू.
-
समयसीमा खत्म हो जाती है
string ज़रूरी नहीं है
Expires कुकी एट्रिब्यूट की वैल्यू.
-
httpOnly
string ज़रूरी नहीं है
HttpOnly कुकी एट्रिब्यूट मौजूद होना चाहिए.
-
maxAge
number ज़रूरी नहीं
Max-Age कुकी एट्रिब्यूट की वैल्यू
-
नाम
string ज़रूरी नहीं है
कुकी का नाम.
-
पाथ
string ज़रूरी नहीं है
पाथ कुकी एट्रिब्यूट की वैल्यू.
-
सुरक्षित
string ज़रूरी नहीं है
सुरक्षित कुकी एट्रिब्यूट मौजूद होना चाहिए.
-
sessionCookie
boolean optional
यह सेशन कुकी को फ़िल्टर करता है. सेशन कुकी के लिए, 'max-age' या 'expires' एट्रिब्यूट में से किसी में भी समयसीमा तय नहीं की गई है.
-
मान
string ज़रूरी नहीं है
कुकी की वैल्यू को डबल कोट में पैड किया जा सकता है.
HeaderFilter
यह कुकी, अलग-अलग शर्तों के हिसाब से अनुरोध के हेडर फ़िल्टर करती है. एक से ज़्यादा शर्तों का आकलन, कंजंक्शन के तौर पर किया जाता है.
प्रॉपर्टी
-
nameContains
string | string[] ज़रूरी नहीं
अगर हेडर के नाम में बताई गई सभी स्ट्रिंग मौजूद हैं, तो यह शर्त पूरी होती है.
-
nameEquals
string ज़रूरी नहीं है
अगर हेडर का नाम, तय की गई स्ट्रिंग के बराबर है, तो यह शर्त पूरी होती है.
-
namePrefix
string ज़रूरी नहीं है
अगर हेडर का नाम दी गई स्ट्रिंग से शुरू होता है, तो यह शर्त पूरी होती है.
-
nameSuffix
string ज़रूरी नहीं है
अगर हेडर का नाम, तय की गई स्ट्रिंग से खत्म होता है, तो यह शर्त पूरी होती है.
-
valueContains
string | string[] ज़रूरी नहीं
अगर हेडर वैल्यू में बताई गई सभी स्ट्रिंग मौजूद हैं, तो मैच करता है.
-
valueEquals
string ज़रूरी नहीं है
अगर हेडर वैल्यू, तय की गई स्ट्रिंग के बराबर है, तो मैच होती है.
-
valuePrefix
string ज़रूरी नहीं है
अगर हेडर वैल्यू, तय की गई स्ट्रिंग से शुरू होती है, तो मैच करता है.
-
valueSuffix
string ज़रूरी नहीं है
अगर हेडर वैल्यू, तय की गई स्ट्रिंग पर खत्म होती है, तो यह फ़िल्टर मैच होता है.
IgnoreRules
यह उन सभी नियमों को मास्क करता है जो तय की गई शर्तों को पूरा करते हैं.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: IgnoreRules) => {...}
-
arg
-
returns
-
-
hasTag
string ज़रूरी नहीं है
अगर इसे सेट किया जाता है, तो तय किए गए टैग वाले नियमों को अनदेखा कर दिया जाता है. अनदेखा करने की यह सुविधा हमेशा के लिए नहीं होती. इसका असर सिर्फ़ नियमों और नेटवर्क अनुरोध के एक ही चरण की कार्रवाइयों पर पड़ता है. ध्यान दें कि नियमों को उनकी प्राथमिकताओं के घटते क्रम में लागू किया जाता है. इस कार्रवाई से, मौजूदा नियम से कम प्राथमिकता वाले नियमों पर असर पड़ता है. एक जैसी प्राथमिकता वाले नियमों को अनदेखा किया जा सकता है या नहीं भी किया जा सकता.
-
lowerPriorityThan
number ज़रूरी नहीं
अगर यह सेट है, तो तय की गई वैल्यू से कम प्राथमिकता वाले नियमों को अनदेखा किया जाता है. यह बाउंड्री सेव नहीं की जाती. इसका असर सिर्फ़ एक ही नेटवर्क अनुरोध के चरण के नियमों और उनकी कार्रवाइयों पर पड़ता है.
RedirectByRegEx
यह कुकी, यूआरएल पर रेगुलर एक्सप्रेशन लागू करके अनुरोध को रीडायरेक्ट करती है. रेगुलर एक्सप्रेशन, RE2 सिंटैक्स का इस्तेमाल करते हैं.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: RedirectByRegEx) => {...}
-
arg
-
returns
-
-
से
स्ट्रिंग
मैच पैटर्न, जिसमें कैप्चर ग्रुप शामिल हो सकते हैं. RE2 सिंटैक्स (\1, \2, ...) के बजाय Perl सिंटैक्स ($1, $2, ...) में कैप्चर ग्रुप का रेफ़रंस दिया जाता है, ताकि JavaScript रेगुलर एक्सप्रेशन के ज़्यादा करीब हो.
-
से
स्ट्रिंग
डेस्टिनेशन पैटर्न.
RedirectRequest
नेटवर्क अनुरोध को रीडायरेक्ट करने वाली इवेंट कार्रवाई.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: RedirectRequest) => {...}
-
arg
-
returns
-
-
redirectUrl
स्ट्रिंग
वह डेस्टिनेशन जहां अनुरोध को रीडायरेक्ट किया जाता है.
RedirectToEmptyDocument
इवेंट से जुड़ी ऐसी कार्रवाई जो नेटवर्क अनुरोध को खाली दस्तावेज़ पर रीडायरेक्ट करती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: RedirectToEmptyDocument) => {...}
-
returns
-
RedirectToTransparentImage
इवेंट से जुड़ी ऐसी कार्रवाई जो नेटवर्क अनुरोध को पारदर्शी इमेज पर रीडायरेक्ट करती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: RedirectToTransparentImage) => {...}
-
returns
-
RemoveRequestCookie
यह कुकी, अनुरोध की एक या उससे ज़्यादा कुकी हटाती है. ध्यान दें कि Cookies API का इस्तेमाल करना बेहतर होता है, क्योंकि इसमें कंप्यूटेशनल लागत कम होती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: RemoveRequestCookie) => {...}
-
returns
-
-
फ़िल्टर
उन कुकी के लिए फ़िल्टर जिन्हें हटाया जाएगा. सभी खाली एंट्री को अनदेखा कर दिया जाता है.
RemoveRequestHeader
यह कुकी, तय किए गए नाम के अनुरोध हेडर को हटाती है. एक ही अनुरोध पर, एक ही हेडर के नाम के साथ SetRequestHeader और RemoveRequestHeader का इस्तेमाल न करें. हर अनुरोध में, अनुरोध हेडर का नाम सिर्फ़ एक बार दिखता है.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: RemoveRequestHeader) => {...}
-
returns
-
-
नाम
स्ट्रिंग
एचटीटीपी अनुरोध के हेडर का नाम. इसमें अंग्रेज़ी के बड़े या छोटे अक्षरों का इस्तेमाल किया जा सकता है.
RemoveResponseCookie
यह कुकी, जवाब की एक या उससे ज़्यादा कुकी हटाती है. ध्यान दें कि Cookies API का इस्तेमाल करना बेहतर होता है, क्योंकि इसमें कंप्यूटेशनल लागत कम होती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: RemoveResponseCookie) => {...}
-
returns
-
-
फ़िल्टर
उन कुकी के लिए फ़िल्टर जिन्हें हटाया जाएगा. सभी खाली एंट्री को अनदेखा कर दिया जाता है.
RemoveResponseHeader
यह फ़ंक्शन, बताए गए नामों और वैल्यू वाले सभी रिस्पॉन्स हेडर हटा देता है.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: RemoveResponseHeader) => {...}
-
returns
-
-
नाम
स्ट्रिंग
एचटीटीपी अनुरोध के हेडर का नाम. इसमें अंग्रेज़ी के बड़े या छोटे अक्षरों का इस्तेमाल किया जा सकता है.
-
मान
string ज़रूरी नहीं है
एचटीटीपी अनुरोध के हेडर की वैल्यू (केस-इनसेंसिटिव).
RequestCookie
एचटीटीपी अनुरोधों में कुकी का फ़िल्टर या स्पेसिफ़िकेशन.
प्रॉपर्टी
-
नाम
string ज़रूरी नहीं है
कुकी का नाम.
-
मान
string ज़रूरी नहीं है
कुकी की वैल्यू को डबल कोट में पैड किया जा सकता है.
RequestMatcher
यह कुकी, अलग-अलग शर्तों के हिसाब से नेटवर्क इवेंट मैच करती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: RequestMatcher) => {...}
-
arg
-
returns
-
-
contentType
string[] ज़रूरी नहीं है
अगर एचटीटीपी कॉन्टेंट-टाइप हेडर से मिले रिस्पॉन्स का एमआईएमई मीडिया टाइप, सूची में मौजूद है, तो यह शर्त पूरी होती है.
-
excludeContentType
string[] ज़रूरी नहीं है
अगर एचटीटीपी कॉन्टेंट-टाइप हेडर से मिले रिस्पॉन्स का एमआईएमई मीडिया टाइप, सूची में नहीं है, तो यह शर्त पूरी होती है.
-
excludeRequestHeaders
HeaderFilter[] optional
अगर कोई भी अनुरोध हेडर, किसी भी HeaderFilters से मेल नहीं खाता है, तो यह शर्त पूरी होती है.
-
excludeResponseHeaders
HeaderFilter[] optional
अगर कोई भी रिस्पॉन्स हेडर, किसी भी HeaderFilters से मैच नहीं करता है, तो यह मैच करता है.
-
firstPartyForCookiesUrl
UrlFilter ज़रूरी नहीं है
अब काम नहीं करतारिलीज़ 82 के बाद से इस पर ध्यान नहीं दिया जाता.
अगर अनुरोध के 'पहले पक्ष' के यूआरएल के लिए, UrlFilter की शर्तें पूरी होती हैं, तो यह मैच करता है. अगर अनुरोध में 'पहले पक्ष' का यूआरएल मौजूद है, तो यह अनुरोध के टारगेट यूआरएल से अलग हो सकता है. साथ ही, यह बताता है कि कुकी के लिए तीसरे पक्ष की जांच के हिसाब से, 'पहले पक्ष' के तौर पर किसे माना जाता है.
-
requestHeaders
HeaderFilter[] optional
अगर अनुरोध के कुछ हेडर, HeaderFilters में से किसी एक से मैच होते हैं, तो यह शर्त पूरी होती है.
-
resourceType
ResourceType[] ज़रूरी नहीं है
अगर अनुरोध का टाइप, सूची में शामिल है, तो यह शर्त पूरी होती है. जिन अनुरोधों का टाइप किसी भी कैटगरी से मेल नहीं खाता उन्हें फ़िल्टर कर दिया जाएगा.
-
responseHeaders
HeaderFilter[] optional
अगर कुछ रिस्पॉन्स हेडर, किसी एक HeaderFilters से मैच होते हैं, तो यह शर्त पूरी होती है.
-
स्टेज
Stage[] ज़रूरी नहीं है
इसमें स्ट्रिंग की एक सूची होती है, जिसमें चरणों के बारे में बताया जाता है. 'onBeforeRequest', 'onBeforeSendHeaders', 'onHeadersReceived', 'onAuthRequired' वैल्यू का इस्तेमाल किया जा सकता है. अगर यह एट्रिब्यूट मौजूद है, तो यह उन चरणों को सीमित करता है जिन पर यह लागू होता है. ध्यान दें कि पूरी शर्त सिर्फ़ उन चरणों में लागू होती है जो सभी एट्रिब्यूट के साथ काम करते हैं.
-
thirdPartyForCookies
boolean optional
अब काम नहीं करतारिलीज़ 87 के बाद से इस पर ध्यान नहीं दिया जाता.
अगर इसे सही पर सेट किया जाता है, तो यह उन अनुरोधों से मेल खाता है जिन पर तीसरे पक्ष की कुकी की नीतियां लागू होती हैं. इसे false पर सेट करने पर, यह अन्य सभी अनुरोधों से मेल खाता है.
-
url
UrlFilter ज़रूरी नहीं है
अगर अनुरोध किए गए यूआरएल के लिए, UrlFilter की शर्तें पूरी होती हैं, तो यह मैच करता है.
ResponseCookie
एचटीटीपी रिस्पॉन्स में कुकी की जानकारी.
प्रॉपर्टी
-
डोमेन
string ज़रूरी नहीं है
Domain कुकी एट्रिब्यूट की वैल्यू.
-
समयसीमा खत्म हो जाती है
string ज़रूरी नहीं है
Expires कुकी एट्रिब्यूट की वैल्यू.
-
httpOnly
string ज़रूरी नहीं है
HttpOnly कुकी एट्रिब्यूट मौजूद होना चाहिए.
-
maxAge
number ज़रूरी नहीं
Max-Age कुकी एट्रिब्यूट की वैल्यू
-
नाम
string ज़रूरी नहीं है
कुकी का नाम.
-
पाथ
string ज़रूरी नहीं है
पाथ कुकी एट्रिब्यूट की वैल्यू.
-
सुरक्षित
string ज़रूरी नहीं है
सुरक्षित कुकी एट्रिब्यूट मौजूद होना चाहिए.
-
मान
string ज़रूरी नहीं है
कुकी की वैल्यू को डबल कोट में पैड किया जा सकता है.
SendMessageToExtension
यह कुकी, declarativeWebRequest.onMessage इवेंट को ट्रिगर करती है.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
constructorफ़ंक्शन इस तरह दिखता है:(arg: SendMessageToExtension) => {...}
-
returns
-
-
मैसेज
स्ट्रिंग
यह वह वैल्यू है जिसे इवेंट हैंडलर को पास की गई डिक्शनरी के
messageएट्रिब्यूट में पास किया जाएगा.
SetRequestHeader
यह कुकी, दिए गए नाम के अनुरोध हेडर को दी गई वैल्यू पर सेट करती है. अगर दिए गए नाम का हेडर पहले से मौजूद नहीं है, तो एक नया हेडर बनाया जाता है. हेडर के नाम की तुलना हमेशा केस-इनसेंसिटिव होती है. हर अनुरोध में, अनुरोध हेडर का नाम सिर्फ़ एक बार दिखता है.
प्रॉपर्टी
-
कंस्ट्रक्टर
अमान्य
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 शामिल हैं.
शर्तें
कार्रवाइयां