chrome.declarativeWebRequest

ब्यौरा

ध्यान दें: यह एपीआई अब काम नहीं करता. इसके बजाय, declarativeNetRequest API का इस्तेमाल करें. फ़्लाइट में अनुरोधों को रोकने, ब्लॉक करने या उनमें बदलाव करने के लिए, chrome.declarativeWebRequest एपीआई का इस्तेमाल करें. यह chrome.webRequest API के मुकाबले काफ़ी तेज़ है, क्योंकि आपके पास JavaScript इंजन के बजाय, ब्राउज़र में जांच किए जाने वाले नियमों को रजिस्टर करने का विकल्प होता है. इससे, राउंडट्रिप का इंतज़ार का समय कम हो जाता है और बेहतर परफ़ॉर्मेंस मिलती है.

अनुमतियां

declarativeWebRequest

आपको "declarativeWebRequest" का एलान करना होगा का इस्तेमाल करने के लिए एक्सटेंशन मेनिफ़ेस्ट में अनुमति एपीआई और होस्ट की अनुमतियां.

{
  "name": "My extension",
  ...
  "permissions": [
    "declarativeWebRequest",
    "*://*/*"
  ],
  ...
}

उपलब्धता

बीटा चैनल ≤ MV2

मेनिफ़ेस्ट

ध्यान दें कि गैर-संवेदनशील कार्रवाइयों के लिए, होस्ट की अनुमतियों की ज़रूरत नहीं होती:

  • CancelRequest
  • IgnoreRules
  • RedirectToEmptyDocument
  • RedirectToTransparentImage

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 पर रीडायरेक्ट करने के लिए, नियम सेट अप नहीं कर सकता.

नियम

डिक्लेरेटिव वेब अनुरोध एपीआई, घोषणात्मक एपीआई के सिद्धांतों का पालन करता है. आप रजिस्टर कर सकते हैं chrome.declarativeWebRequest.onRequest इवेंट ऑब्जेक्ट के नियम.

डिक्लेरेटिव वेब रिक्वेस्ट एपीआई, मैच करने की एक तरह की शर्तों के साथ काम करता है, जिसका नाम RequestMatcher है. कॉन्टेंट बनाने RequestMatcher, नेटवर्क अनुरोधों का मिलान सिर्फ़ तब करता है, जब सूची में दी गई सभी शर्तें पूरी होती हैं. नीचे दिए गए जब उपयोगकर्ता, कन्वर्ज़न विंडो में https://www.example.com डालेगा, तो RequestMatcher, नेटवर्क अनुरोध को मैच करेगा ओमिनीबॉक्स:

var matcher = new chrome.declarativeWebRequest.RequestMatcher({
  url: { hostSuffix: 'example.com', schemes: ['http'] },
  resourceType: ['main_frame']
});

स्कीम की वजह से, https://www.example.com को किए गए अनुरोधों को RequestMatcher अस्वीकार कर देगा. साथ ही, resourceType की वजह से, एम्बेड किए गए iframe के सभी अनुरोध अस्वीकार कर दिए जाएंगे.

"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]);

शर्तों और कार्रवाइयों का आकलन

एलान वाला वेब अनुरोध एपीआई, वेब के वेब अनुरोधों के लिए लाइफ़ साइकल मॉडल का पालन करता है एपीआई का अनुरोध करें. इसका मतलब है कि शर्तों की जांच, वेब अनुरोध के खास स्टेज पर ही की जा सकती है और इसी तरह, कार्रवाइयां सिर्फ़ खास चरणों पर पूरी की जा सकती हैं. इन टेबल में, अनुरोध के ऐसे चरण जो शर्तों और कार्रवाइयों के मुताबिक हों.

उन चरणों का अनुरोध करें, जिनके दौरान स्थिति के एट्रिब्यूट प्रोसेस किए जा सकते हैं.
शर्त से जुड़ा एट्रिब्यूट 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

नियमों को बदलने के लिए प्राथमिकताएं इस्तेमाल करें

नियमों को इवेंट एपीआई में बताई गई प्राथमिकताओं के हिसाब से जोड़ा जा सकता है. यह तरीका इनमें से किसी भी स्थिति में हो सकता है: का इस्तेमाल अपवाद के तौर पर किया जाता है. इस उदाहरण में, 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

अनुरोध में एक कुकी जोड़ता है या किसी कुकी को ओवरराइड करता है, बशर्ते समान नाम की कोई अन्य कुकी पहले से मौजूद हो. ध्यान दें कि Cookie API का इस्तेमाल करना ज़्यादा सही है, क्योंकि यह कंप्यूटेशनल तौर पर कम खर्चीला है.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: AddRequestCookie) => {...}

  • अनुरोध में जोड़ी जाने वाली कुकी. कोई भी फ़ील्ड तय नहीं किया जा सकता.

AddResponseCookie

जवाब के लिए एक कुकी जोड़ता है या किसी कुकी को ओवरराइड करता है, अगर उसी नाम की कोई दूसरी कुकी पहले से मौजूद है. ध्यान दें कि Cookie API का इस्तेमाल करना ज़्यादा सही है, क्योंकि यह कंप्यूटेशनल तौर पर कम खर्चीला है.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: AddResponseCookie) => {...}

  • जवाब में जोड़ी जाने वाली कुकी. नाम और मान बताना ज़रूरी है.

AddResponseHeader

इस वेब अनुरोध के रिस्पॉन्स में रिस्पॉन्स हेडर जोड़ता है. कई रिस्पॉन्स हेडर का एक ही नाम हो सकता है. इसलिए, इसे बदलने के लिए आपको पहले रिस्पॉन्स हेडर को हटाना होगा और फिर नया रिस्पॉन्स हेडर जोड़ना होगा.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: AddResponseHeader) => {...}

  • नाम

    स्ट्रिंग

    एचटीटीपी रिस्पॉन्स हेडर का नाम.

  • value

    स्ट्रिंग

    एचटीटीपी रिस्पॉन्स हेडर का मान.

CancelRequest

एलान वाले इवेंट की कार्रवाई, जो नेटवर्क के अनुरोध को रद्द करती है.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: CancelRequest) => {...}

EditRequestCookie

अनुरोध की एक या उससे ज़्यादा कुकी में बदलाव करता है. ध्यान दें कि Cookie API का इस्तेमाल करना ज़्यादा सही है, क्योंकि यह कंप्यूटेशनल तौर पर कम खर्चीला है.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: EditRequestCookie) => {...}

  • फ़िल्टर करें

    उन कुकी को फ़िल्टर करें जिनमें बदलाव किया जाएगा. सभी खाली एंट्री को अनदेखा कर दिया जाता है.

  • बदलाव

    जिन एट्रिब्यूट ने फ़िल्टर को शामिल किया था उन्हें उन कुकी में बदल दिया जाएगा. खाली स्ट्रिंग पर सेट किए गए एट्रिब्यूट हटा दिए जाते हैं.

EditResponseCookie

जवाब की एक या उससे ज़्यादा कुकी में बदलाव करता है. ध्यान दें कि Cookie API का इस्तेमाल करना ज़्यादा सही है, क्योंकि यह कंप्यूटेशनल तौर पर कम खर्चीला है.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: EditResponseCookie) => {...}

  • फ़िल्टर करें

    उन कुकी को फ़िल्टर करें जिनमें बदलाव किया जाएगा. सभी खाली एंट्री को अनदेखा कर दिया जाता है.

  • बदलाव

    जिन एट्रिब्यूट ने फ़िल्टर को शामिल किया था उन्हें उन कुकी में बदल दिया जाएगा. खाली स्ट्रिंग पर सेट किए गए एट्रिब्यूट हटा दिए जाते हैं.

FilterResponseCookie

एचटीटीपी रिस्पॉन्स में कुकी का फ़िल्टर.

प्रॉपर्टी

  • ageLowerBound

    नंबर वैकल्पिक

    कुकी लाइफ़टाइम में शामिल की गई निचली सीमा (मौजूदा समय के बाद सेकंड में तय होती है). सिर्फ़ वे कुकी जिनके खत्म होने की तारीख की तारीख-समय 'now + agelowerBound' पर सेट हो पूरा करने का विकल्प होता है. सत्र कुकी इस फ़िल्टर की शर्तों को पूरा नहीं करती हैं. कुकी के लाइफ़टाइम की गिनती 'ज़्यादा से ज़्यादा उम्र' से की जाती है या 'समयसीमा खत्म हो जाती है' कुकी एट्रिब्यूट. अगर दोनों के बारे में बताया गया हो, तो 'ज़्यादा से ज़्यादा उम्र' कुकी की लाइफ़टाइम वैल्यू का हिसाब लगाने के लिए इस्तेमाल किया जाता है.

  • ageUpperBound

    नंबर वैकल्पिक

    कुकी लाइफ़टाइम में इनक्लूसिव अपर बाउंड (मौजूदा समय के कुछ सेकंड बाद तय होती है). सिर्फ़ वे कुकी इस शर्त को पूरा करती हैं जिनके खत्म होने की तारीख और समय, इंटरवल [अभी, अब +ageUpperBound] बीच में है. सेशन की कुकी और कुकी, जिनके खत्म होने की तारीख बीत चुकी है वे इस फ़िल्टर की शर्तों को पूरा नहीं करते. कुकी के लाइफ़टाइम की गिनती 'ज़्यादा से ज़्यादा उम्र' से की जाती है या 'समयसीमा खत्म हो जाती है' कुकी एट्रिब्यूट. अगर दोनों के बारे में बताया गया हो, तो 'ज़्यादा से ज़्यादा उम्र' कुकी की लाइफ़टाइम वैल्यू का हिसाब लगाने के लिए इस्तेमाल किया जाता है.

  • डोमेन

    स्ट्रिंग ज़रूरी नहीं

    डोमेन कुकी एट्रिब्यूट की वैल्यू.

  • समय सीमा समाप्ति

    स्ट्रिंग ज़रूरी नहीं

    कुकी की समयसीमा खत्म होने वाले एट्रिब्यूट की वैल्यू.

  • httpOnly

    स्ट्रिंग ज़रूरी नहीं

    HttpOnly कुकी एट्रिब्यूट मौजूद है.

  • maxAge

    नंबर वैकल्पिक

    'ज़्यादा से ज़्यादा उम्र' कुकी एट्रिब्यूट की वैल्यू

  • नाम

    स्ट्रिंग ज़रूरी नहीं

    कुकी का नाम.

  • पाथ

    स्ट्रिंग ज़रूरी नहीं

    पाथ कुकी एट्रिब्यूट की वैल्यू.

  • सुरक्षित

    स्ट्रिंग ज़रूरी नहीं

    सिक्योर कुकी एट्रिब्यूट की मौजूदगी.

  • सेशनकुकी

    बूलियन ज़रूरी नहीं

    सेशन की कुकी को फ़िल्टर करता है. सत्र कुकी की किसी भी 'ज़्यादा से ज़्यादा उम्र' में लाइफ़टाइम तय नहीं होता है या 'समयसीमा खत्म हो जाती है' एट्रिब्यूट.

  • value

    स्ट्रिंग ज़रूरी नहीं

    कुकी की वैल्यू, डबल-कोट में जोड़ी जा सकती है.

HeaderFilter

अलग-अलग शर्तों के हिसाब से अनुरोध के हेडर को फ़िल्टर करता है. एकाधिक मापदंडों का संयोजन के रूप में मूल्यांकन किया जाता है.

प्रॉपर्टी

  • nameContains

    string | स्ट्रिंग[] ज़रूरी नहीं

    अगर हेडर के नाम में सभी तय स्ट्रिंग शामिल हों, तो मिलान होता है.

  • nameEquals

    स्ट्रिंग ज़रूरी नहीं

    हेडर का नाम तय स्ट्रिंग के बराबर होने पर मैच होता है.

  • namePrefix

    स्ट्रिंग ज़रूरी नहीं

    हेडर का नाम किसी तय स्ट्रिंग से शुरू होने पर मैच होता है.

  • nameSuffix

    स्ट्रिंग ज़रूरी नहीं

    हेडर का नाम तय की गई स्ट्रिंग पर खत्म होने पर मैच होता है.

  • valueContains

    string | स्ट्रिंग[] ज़रूरी नहीं

    अगर हेडर वैल्यू में सभी तय स्ट्रिंग शामिल हों, तो मैच होता है.

  • valueEquals

    स्ट्रिंग ज़रूरी नहीं

    हेडर वैल्यू, तय की गई स्ट्रिंग के बराबर होने पर मैच होती है.

  • valuePrefix

    स्ट्रिंग ज़रूरी नहीं

    हेडर वैल्यू किसी तय स्ट्रिंग से शुरू होने पर मैच होती है.

  • valueSuffix

    स्ट्रिंग ज़रूरी नहीं

    हेडर वैल्यू तय की गई स्ट्रिंग पर खत्म होने पर मैच होती है.

IgnoreRules

तय शर्तों से मेल खाने वाले सभी नियमों को मास्क करता है.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: IgnoreRules) => {...}

  • hasTag

    स्ट्रिंग ज़रूरी नहीं

    अगर सेट हो, तो बताए गए टैग वाले नियमों को अनदेखा कर दिया जाता है. इस अनदेखा को लागू नहीं किया जा सकता. इससे सिर्फ़ उन नियमों और उनकी कार्रवाइयों पर असर पड़ता है जो नेटवर्क अनुरोध के एक ही चरण पर होती हैं. ध्यान दें कि नियमों को उनकी प्राथमिकताओं के घटते क्रम में लागू किया जाता है. इस कार्रवाई से मौजूदा नियम की तुलना में कम प्राथमिकता वाले नियमों पर असर पड़ता है. एक जैसी प्राथमिकता वाले नियमों को अनदेखा किया जा सकता है और नहीं भी.

  • lowerPriorityThan

    नंबर वैकल्पिक

    अगर यह नीति सेट की जाती है, तो तय की गई वैल्यू से कम प्राथमिकता वाले नियमों को अनदेखा कर दिया जाता है. इस सीमा को जारी नहीं रखा जाता. इसका असर सिर्फ़ उन नियमों और उनकी कार्रवाइयों पर पड़ता है जो नेटवर्क अनुरोध के एक ही चरण पर होती हैं.

RedirectByRegEx

यूआरएल पर रेगुलर एक्सप्रेशन लागू करके अनुरोध को रीडायरेक्ट करता है. रेगुलर एक्सप्रेशन RE2 सिंटैक्स का इस्तेमाल करते हैं.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: RedirectByRegEx) => {...}

  • इन्होंने भेजा है

    स्ट्रिंग

    कैप्चर ग्रुप वाला मैच पैटर्न. JavaScript रेगुलर एक्सप्रेशन के नज़दीक होने के लिए कैप्चर समूहों को RE2 सिंटैक्स (\1, \2, ...) के बजाय Perl सिंटैक्स ($1, $2, ...) में रेफ़र किया जाता है.

  • से

    स्ट्रिंग

    डेस्टिनेशन पैटर्न.

RedirectRequest

एलान वाले इवेंट की कार्रवाई, जो नेटवर्क के अनुरोध को रीडायरेक्ट करती है.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: RedirectRequest) => {...}

  • redirectUrl

    स्ट्रिंग

    वह गंतव्य जहां अनुरोध रीडायरेक्ट किया गया है.

RedirectToEmptyDocument

एलान वाले इवेंट की कार्रवाई, जो नेटवर्क के अनुरोध को खाली दस्तावेज़ पर रीडायरेक्ट करती है.

प्रॉपर्टी

RedirectToTransparentImage

एलान वाले इवेंट की कार्रवाई, जो नेटवर्क के अनुरोध को पारदर्शी इमेज पर रीडायरेक्ट करती है.

प्रॉपर्टी

RemoveRequestCookie

अनुरोध की एक या उससे ज़्यादा कुकी हटाता है. ध्यान दें कि Cookie API का इस्तेमाल करना ज़्यादा सही है, क्योंकि यह कंप्यूटेशनल तौर पर कम खर्चीला है.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: RemoveRequestCookie) => {...}

  • फ़िल्टर करें

    हटाई जाने वाली कुकी के लिए फ़िल्टर करें. सभी खाली एंट्री को अनदेखा कर दिया जाता है.

RemoveRequestHeader

बताए गए नाम के अनुरोध हेडर को हटाता है. एक ही अनुरोध पर एक ही हेडर नाम के साथ SetRequestHeader और RemoveRequestHeader का इस्तेमाल न करें. हर अनुरोध के हेडर का नाम, हर अनुरोध में सिर्फ़ एक बार आता है.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: RemoveRequestHeader) => {...}

  • नाम

    स्ट्रिंग

    एचटीटीपी अनुरोध के हेडर का नाम (केस-इनसेंसिटिव).

RemoveResponseCookie

यह रिस्पॉन्स की एक या उससे ज़्यादा कुकी हटाता है. ध्यान दें कि Cookie API का इस्तेमाल करना ज़्यादा सही है, क्योंकि यह कंप्यूटेशनल तौर पर कम खर्चीला है.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: RemoveResponseCookie) => {...}

  • फ़िल्टर करें

    हटाई जाने वाली कुकी के लिए फ़िल्टर करें. सभी खाली एंट्री को अनदेखा कर दिया जाता है.

RemoveResponseHeader

बताए गए नामों और वैल्यू के सभी रिस्पॉन्स हेडर हटाता है.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: RemoveResponseHeader) => {...}

  • नाम

    स्ट्रिंग

    एचटीटीपी अनुरोध के हेडर का नाम (केस-इनसेंसिटिव).

  • value

    स्ट्रिंग ज़रूरी नहीं

    एचटीटीपी अनुरोध की हेडर वैल्यू (केस-इनसेंसिटिव).

RequestCookie

एचटीटीपी अनुरोधों में, कुकी का फ़िल्टर या उसकी खास बातें.

प्रॉपर्टी

  • नाम

    स्ट्रिंग ज़रूरी नहीं

    कुकी का नाम.

  • value

    स्ट्रिंग ज़रूरी नहीं

    कुकी की वैल्यू, डबल-कोट में जोड़ी जा सकती है.

RequestMatcher

अलग-अलग शर्तों के हिसाब से नेटवर्क इवेंट से मेल खाता है.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: RequestMatcher) => {...}

  • contentType

    स्ट्रिंग[] ज़रूरी नहीं

    यह तब मैच होता है, जब सूची में रिस्पॉन्स का MIME मीडिया टाइप (एचटीटीपी कॉन्टेंट-टाइप हेडर से) शामिल हो.

  • excludeContentType

    स्ट्रिंग[] ज़रूरी नहीं

    तब मैच होता है, जब प्रतिक्रिया का MIME मीडिया टाइप (एचटीटीपी कॉन्टेंट-टाइप हेडर से) सूची में शामिल नहीं होता.

  • excludeRequestHeaders

    HeaderFilter[] ज़रूरी नहीं

    यह तब मैच होता है, जब कोई भी अनुरोध हेडर, किसी भी HeaderFilter से मेल नहीं खाता.

  • excludeResponseHeaders

    HeaderFilter[] ज़रूरी नहीं

    यह तब मैच होता है, जब कोई भी रिस्पॉन्स हेडर, किसी भी HeaderFilter से मेल नहीं खाता.

  • firstPartyForCookiesUrl

    UrlFilter ज़रूरी नहीं

    अब काम नहीं करता

    रिलीज़ 82 के बाद से अनदेखा किया गया.

    'पहले पक्ष' के लिए, UrlFilter की शर्तें पूरी होने पर मैच होता है अनुरोध का यूआरएल. 'पहला पक्ष' यूआरएल के मौजूद होने पर, वह अनुरोध के टारगेट यूआरएल से अलग हो सकता है. साथ ही, यह बताता है कि 'पहला पक्ष' किसे माना जाता है कुकी के लिए, तीसरे पक्ष की जांच को पूरा करने के लिए किया जाता है.

  • requestHeaders

    HeaderFilter[] ज़रूरी नहीं

    मिलान करता है अगर कुछ अनुरोध हेडर का मिलान किसी एक HeaderFilter से किया जाता है.

  • resourceType

    ResourceType[] ज़रूरी नहीं

    मिलान, अगर अनुरोध का टाइप, सूची में शामिल हो. किसी भी टाइप से मैच न करने वाले अनुरोध, फ़िल्टर करके बाहर कर दिए जाएंगे.

  • responseHeaders

    HeaderFilter[] ज़रूरी नहीं

    मिलान करता है अगर कुछ प्रतिक्रिया हेडर किसी एक HeaderFilter से मेल खाते हैं.

  • स्टेज

    स्टेज[] ज़रूरी नहीं

    इसमें स्टेज के बारे में बताने वाली स्ट्रिंग की सूची शामिल होती है. अनुमति वाली वैल्यू 'onbeforeRequest', 'onbeforeSendHeaders', 'onHeadersReceived', 'onAuthrequired' हैं. अगर यह एट्रिब्यूट मौजूद है, तो यह लागू होने वाले स्टेज को, सूची में दिए गए चरणों तक सीमित कर देता है. ध्यान दें कि पूरी शर्त सिर्फ़ उन स्टेज पर लागू होती है जो सभी एट्रिब्यूट के साथ काम करते हैं.

  • thirdPartyForCookies

    बूलियन ज़रूरी नहीं

    अब काम नहीं करता

    रिलीज़ 87 के बाद से अनदेखा किया गया.

    अगर इस नीति को 'सही है' पर सेट किया जाता है, तो यह ऐसे अनुरोधों से मेल खाता है जो तीसरे पक्ष की कुकी की नीतियों के दायरे में आते हैं. अगर इस नीति को 'गलत है' पर सेट किया जाता है, तो यह बाकी सभी अनुरोधों से मेल खाता है.

  • url

    UrlFilter ज़रूरी नहीं

    अनुरोध के यूआरएल के लिए UrlFilter की शर्तें पूरी होने पर मैच होता है.

ResponseCookie

एचटीटीपी रिस्पॉन्स में कुकी के बारे में जानकारी.

प्रॉपर्टी

  • डोमेन

    स्ट्रिंग ज़रूरी नहीं

    डोमेन कुकी एट्रिब्यूट की वैल्यू.

  • समय सीमा समाप्ति

    स्ट्रिंग ज़रूरी नहीं

    कुकी की समयसीमा खत्म होने वाले एट्रिब्यूट की वैल्यू.

  • httpOnly

    स्ट्रिंग ज़रूरी नहीं

    HttpOnly कुकी एट्रिब्यूट मौजूद है.

  • maxAge

    नंबर वैकल्पिक

    'ज़्यादा से ज़्यादा उम्र' कुकी एट्रिब्यूट की वैल्यू

  • नाम

    स्ट्रिंग ज़रूरी नहीं

    कुकी का नाम.

  • पाथ

    स्ट्रिंग ज़रूरी नहीं

    पाथ कुकी एट्रिब्यूट की वैल्यू.

  • सुरक्षित

    स्ट्रिंग ज़रूरी नहीं

    सिक्योर कुकी एट्रिब्यूट की मौजूदगी.

  • value

    स्ट्रिंग ज़रूरी नहीं

    कुकी की वैल्यू, डबल-कोट में जोड़ी जा सकती है.

SendMessageToExtension

यह declarativeWebRequest.onMessage इवेंट को ट्रिगर करता है.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: SendMessageToExtension) => {...}

  • मैसेज

    स्ट्रिंग

    वह वैल्यू जिसे डिक्शनरी के message एट्रिब्यूट में पास किया जाएगा. इसे इवेंट हैंडलर को भेजा जाएगा.

SetRequestHeader

किसी खास नाम के अनुरोध के हेडर को, तय की गई वैल्यू पर सेट करता है. अगर इस नाम वाला हेडर पहले मौजूद नहीं था, तो एक नया हेडर बन जाता है. हेडर के नाम की तुलना हमेशा केस-इनसेंसिटिव होती है. हर अनुरोध के हेडर का नाम, हर अनुरोध में सिर्फ़ एक बार आता है.

प्रॉपर्टी

  • कंस्ट्रक्टर

    अमान्य

    constructor फ़ंक्शन इस तरह दिखता है:

    (arg: SetRequestHeader) => {...}

  • नाम

    स्ट्रिंग

    एचटीटीपी अनुरोध के हेडर का नाम.

  • value

    स्ट्रिंग

    एचटीटीपी अनुरोध के हेडर का मान.

Stage

Enum

"onbeforeRequest"

"onbeforeSendHeaders"

"onHeadersReceived"

"onAuthज़रूरी है"

इवेंट

onMessage

chrome.declarativeWebRequest.onMessage.addListener(
  callback: function,
)

यह तब ट्रिगर होता है, जब डिक्लेरेटिव वेब रिक्वेस्ट एपीआई की कार्रवाई से, declarativeWebRequest.SendMessageToExtension के ज़रिए मैसेज भेजा जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (details: object) => void

    • विवरण

      ऑब्जेक्ट

      • documentId

        स्ट्रिंग ज़रूरी नहीं

        उस दस्तावेज़ का यूयूआईडी जिसने अनुरोध किया था.

      • वह लाइफ़साइकल जिसमें दस्तावेज़ मौजूद है.

      • frameId

        संख्या

        वैल्यू 0 होने का मतलब है कि अनुरोध मुख्य फ़्रेम में हुआ है; पॉज़िटिव वैल्यू उस सबफ़्रेम के आईडी को दिखाती है जिसमें अनुरोध होता है. अगर किसी (सब-)फ़्रेम का दस्तावेज़ लोड होता है (type main_frame या sub_frame है), तो frameId इस फ़्रेम के आईडी को दिखाता है, न कि आउटर फ़्रेम के आईडी को. फ़्रेम आईडी, किसी टैब में यूनीक होते हैं.

      • उस फ़्रेम का टाइप जिसमें नेविगेशन हुआ था.

      • मैसेज

        स्ट्रिंग

        कॉलिंग स्क्रिप्ट से भेजा गया मैसेज.

      • तरीका

        स्ट्रिंग

        स्टैंडर्ड एचटीटीपी तरीका.

      • parentDocumentId

        स्ट्रिंग ज़रूरी नहीं

        इस फ़्रेम के मालिकाना हक वाले पैरंट दस्तावेज़ का यूयूआईडी. अगर कोई अभिभावक नहीं है, तो यह सेट नहीं होता है.

      • parentFrameId

        संख्या

        फ़्रेम का आईडी, जो अनुरोध भेजने वाले फ़्रेम को रैप करता है. अगर कोई पैरंट फ़्रेम मौजूद नहीं है, तो -1 पर सेट करें.

      • requestId

        स्ट्रिंग

        अनुरोध का आईडी. ब्राउज़र सेशन में अनुरोध आईडी यूनीक होते हैं. इस वजह से, इनका इस्तेमाल एक ही अनुरोध के अलग-अलग इवेंट को जोड़ने के लिए किया जा सकता है.

      • स्टेज

        नेटवर्क अनुरोध का वह स्टेज जिसके दौरान इवेंट ट्रिगर हुआ.

      • tabId

        संख्या

        उस टैब का आईडी जिसमें अनुरोध किया जाता है. अगर अनुरोध किसी टैब से न जुड़ा हो, तो उसे -1 पर सेट करें.

      • timeStamp

        संख्या

        Epoch के बाद से, मिलीसेकंड में वह समय जब यह सिग्नल ट्रिगर होता है.

      • अनुरोध किए गए संसाधन का इस्तेमाल कैसे किया जाएगा.

      • url

        स्ट्रिंग

onRequest

यह घोषणा इवेंट एपीआई उपलब्ध कराता है. इसमें addRules, removeRules, और getRules शामिल हैं.

शर्तें