คำอธิบาย
หมายเหตุ: API นี้เลิกใช้งานแล้ว ลองใช้ declarativeNetRequest API แทน ใช้ chrome.declarativeWebRequest API เพื่อสกัดกั้น บล็อก หรือแก้ไขคำขอที่อยู่ระหว่างดำเนินการ มีความรวดเร็วกว่า chrome.webRequest API อย่างมากเนื่องจากคุณสามารถลงทะเบียนกฎที่ได้รับการประเมินในเบราว์เซอร์แทนเครื่องมือ JavaScript ซึ่งจะลดเวลาในการตอบสนองไป-กลับและทำให้มีประสิทธิภาพสูงขึ้น
สิทธิ์
declarativeWebRequestคุณต้องประกาศ "declarativeWebRequest" สิทธิ์ในไฟล์ Manifest ของส่วนขยายเพื่อใช้รายการนี้ API ตลอดจนสิทธิ์ของโฮสต์
{ "name": "My extension", ... "permissions": [ "declarativeWebRequest", "*://*/*" ], ... } ความพร้อมใช้งาน
ไฟล์ Manifest
โปรดทราบว่าการดำเนินการที่ไม่มีความละเอียดอ่อนบางประเภทไม่จำเป็นต้องใช้สิทธิ์ของโฮสต์
CancelRequestIgnoreRulesRedirectToEmptyDocumentRedirectToTransparentImage
การดำเนินการ SendMessageToExtension() ต้องใช้สิทธิ์ของโฮสต์สำหรับโฮสต์ที่มีคำขอเครือข่าย ที่คุณต้องการให้ข้อความแสดง
ส่วนการดำเนินการอื่นๆ ทั้งหมดต้องมีสิทธิ์ของโฮสต์สำหรับ URL ทั้งหมด
ตัวอย่างเช่น หาก "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
API คำขอเว็บแบบประกาศรองรับเกณฑ์การจับคู่ประเภทเดียว ซึ่งก็คือ RequestMatcher RequestMatcher จะจับคู่คำขอเครือข่ายเมื่อตรงกับเกณฑ์ที่ระบุไว้ทั้งหมดเท่านั้น ดังต่อไปนี้ RequestMatcher จะตรงกับคำขอเครือข่ายเมื่อผู้ใช้ป้อน https://www.example.com ในฟิลด์ แถบอเนกประสงค์:
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 คุณสามารถเพิ่มเงื่อนไขที่ 2 ได้ เนื่องจากแต่ละเงื่อนไขเพียงพอที่จะทริกเกอร์การดำเนินการที่ระบุทั้งหมด ดังนี้
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 ทำงานตามรูปแบบวงจรสำหรับคำขอเว็บของเว็บ ขอ 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) => {...}
- อาร์กิวเมนต์
- returns
-
- คุกกี้
คุกกี้ที่จะเพิ่มในคำขอ ระบุช่องไม่ได้
AddResponseCookie
เพิ่มคุกกี้ไปยังการตอบกลับหรือลบล้างคุกกี้ ในกรณีที่มีคุกกี้อื่นที่มีชื่อเดียวกันมีอยู่แล้ว โปรดทราบว่าคุณควรใช้ Cookies API เนื่องจากการคำนวณนี้มีราคาถูกกว่า
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: AddResponseCookie) => {...}
- อาร์กิวเมนต์
- returns
-
- คุกกี้
คุกกี้ที่จะเพิ่มในคำตอบ ต้องระบุชื่อและค่า
AddResponseHeader
เพิ่มส่วนหัวการตอบกลับไปยังการตอบกลับของคำขอผ่านเว็บนี้ เนื่องจากส่วนหัวการตอบกลับหลายรายการอาจใช้ชื่อเดียวกัน คุณจึงต้องนำออกก่อนแล้วจึงเพิ่มส่วนหัวการตอบกลับใหม่เพื่อแทนที่ส่วนหัวดังกล่าว
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: AddResponseHeader) => {...}
- อาร์กิวเมนต์
- returns
-
- ชื่อ
สตริง
ชื่อส่วนหัวการตอบกลับ HTTP
- value
สตริง
ค่าส่วนหัวการตอบกลับ HTTP
CancelRequest
การดำเนินการของเหตุการณ์ที่มีการประกาศที่ยกเลิกคำขอเครือข่าย
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: CancelRequest) => {...}
- อาร์กิวเมนต์
- returns
-
EditRequestCookie
แก้ไขคุกกี้ของคำขออย่างน้อย 1 รายการ โปรดทราบว่าคุณควรใช้ Cookies API เนื่องจากการคำนวณนี้มีราคาถูกกว่า
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: EditRequestCookie) => {...}
- อาร์กิวเมนต์
- returns
-
- ตัวกรอง
ตัวกรองคุกกี้ที่จะแก้ไข ระบบจะไม่สนใจข้อมูลที่ว่างเปล่าทั้งหมด
- การแก้ไข
แอตทริบิวต์ที่จะถูกลบล้างในคุกกี้ที่เชื่อมตัวกรอง แอตทริบิวต์ที่ตั้งค่าเป็นสตริงว่างเปล่าจะถูกนำออก
EditResponseCookie
แก้ไขคุกกี้ของการตอบกลับอย่างน้อย 1 รายการ โปรดทราบว่าคุณควรใช้ Cookies API เนื่องจากการคำนวณนี้มีราคาถูกกว่า
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: EditResponseCookie) => {...}
- อาร์กิวเมนต์
- returns
-
- ตัวกรอง
ตัวกรองคุกกี้ที่จะแก้ไข ระบบจะไม่สนใจข้อมูลที่ว่างเปล่าทั้งหมด
- การแก้ไข
แอตทริบิวต์ที่จะถูกลบล้างในคุกกี้ที่เชื่อมตัวกรอง แอตทริบิวต์ที่ตั้งค่าเป็นสตริงว่างเปล่าจะถูกนำออก
FilterResponseCookie
ตัวกรองของคุกกี้ในการตอบกลับ HTTP
พร็อพเพอร์ตี้
- ageLowerBound
หมายเลข ไม่บังคับ
ขอบเขตล่างของแบบรวมเกี่ยวกับอายุการใช้งานของคุกกี้ (ระบุเป็นวินาทีหลังจากเวลาปัจจุบัน) เฉพาะคุกกี้ที่มีการตั้งค่าเวลาหมดอายุเป็น "now + ageLowerBound" หรือมีคุณสมบัติตรงตามเกณฑ์นี้ภายหลัง คุกกี้เซสชันไม่ตรงตามเกณฑ์ของตัวกรองนี้ อายุการใช้งานคุกกี้จะคํานวณจาก "max-age" (อายุสูงสุด) หรือ "หมดอายุ" แอตทริบิวต์คุกกี้ หากระบุทั้ง 2 อย่าง ให้ระบุ "max-age" ใช้เพื่อคำนวณอายุการใช้งานของคุกกี้
- ageUpperBound
หมายเลข ไม่บังคับ
ขอบเขตบนของอายุการใช้งานคุกกี้ (ระบุเป็นวินาทีหลังจากเวลาปัจจุบัน) คุกกี้ที่มีเวลาหมดอายุอยู่ในช่วง [now, now + ageUpperBound] เท่านั้นที่เป็นไปตามเกณฑ์นี้ คุกกี้ของเซสชันและคุกกี้ที่เวลาหมดอายุในอดีตไม่ตรงกับเกณฑ์ของตัวกรองนี้ อายุการใช้งานคุกกี้จะคํานวณจาก "max-age" (อายุสูงสุด) หรือ "หมดอายุ" แอตทริบิวต์คุกกี้ หากระบุทั้ง 2 อย่าง ให้ระบุ "max-age" ใช้เพื่อคำนวณอายุการใช้งานของคุกกี้
- โดเมน
string ไม่บังคับ
ค่าของแอตทริบิวต์คุกกี้ของโดเมน
- หมดอายุ
string ไม่บังคับ
ค่าของแอตทริบิวต์คุกกี้หมดอายุ
- httpOnly
string ไม่บังคับ
การมีอยู่ของแอตทริบิวต์คุกกี้ HttpOnly
- maxAge
หมายเลข ไม่บังคับ
ค่าของแอตทริบิวต์คุกกี้ Max-Age
- ชื่อ
string ไม่บังคับ
ชื่อของคุกกี้
- เส้นทาง
string ไม่บังคับ
ค่าของแอตทริบิวต์คุกกี้เส้นทาง
- รักษาความปลอดภัย
string ไม่บังคับ
การมีอยู่ของแอตทริบิวต์คุกกี้ที่ปลอดภัย
- คุกกี้เซสชัน
บูลีน ไม่บังคับ
กรองคุกกี้ของเซสชัน คุกกี้เซสชันไม่มีการระบุอายุการใช้งานที่ระบุใน "อายุสูงสุด" หรือ "หมดอายุ"
- value
string ไม่บังคับ
มูลค่าของคุกกี้ อาจใส่เครื่องหมายคำพูดคู่ได้
HeaderFilter
กรองส่วนหัวของคำขอสำหรับเกณฑ์ต่างๆ เกณฑ์หลายเกณฑ์จะได้รับการประเมินเป็นคำสันธาน
พร็อพเพอร์ตี้
- nameContains
string | string[] ไม่บังคับ
จับคู่หากชื่อส่วนหัวมีสตริงที่ระบุทั้งหมด
- nameEquals
string ไม่บังคับ
จับคู่หากชื่อส่วนหัวเท่ากับสตริงที่ระบุ
- namePrefix
string ไม่บังคับ
จับคู่หากชื่อส่วนหัวขึ้นต้นด้วยสตริงที่ระบุ
- nameSuffix
string ไม่บังคับ
จับคู่หากชื่อส่วนหัวลงท้ายด้วยสตริงที่ระบุ
- valueContains
string | string[] ไม่บังคับ
จับคู่หากค่าส่วนหัวมีสตริงที่ระบุทั้งหมด
- valueEquals
string ไม่บังคับ
จับคู่หากค่าส่วนหัวเท่ากับสตริงที่ระบุ
- valuePrefix
string ไม่บังคับ
จับคู่หากค่าส่วนหัวขึ้นต้นด้วยสตริงที่ระบุ
- valueSuffix
string ไม่บังคับ
จับคู่หากค่าส่วนหัวลงท้ายด้วยสตริงที่ระบุ
IgnoreRules
มาสก์กฎทั้งหมดที่ตรงกับเกณฑ์ที่ระบุ
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: IgnoreRules) => {...}
- อาร์กิวเมนต์
- returns
-
- hasTag
string ไม่บังคับ
หากตั้งค่าไว้ ระบบจะไม่สนใจกฎที่มีแท็กที่ระบุ การละเว้นนี้ไม่มีผล แต่จะส่งผลต่อกฎและการทำงานของขั้นตอนในขั้นตอนคำขอเครือข่ายเดียวกันเท่านั้น โปรดทราบว่าระบบจะใช้กฎตามลำดับความสำคัญจากมากไปน้อย การดำเนินการนี้จะส่งผลต่อกฎที่มีลำดับความสำคัญต่ำกว่ากฎปัจจุบัน ระบบอาจไม่สนใจกฎที่มีลำดับความสำคัญเท่ากัน
- lowerPriorityThan
หมายเลข ไม่บังคับ
หากตั้งค่าไว้ ระบบจะไม่สนใจกฎที่มีลำดับความสำคัญต่ำกว่าค่าที่ระบุ ขอบเขตนี้จะไม่ยังคงอยู่ แต่จะส่งผลต่อกฎและการทำงานของกฎในขั้นตอนคำขอเครือข่ายเดียวกันเท่านั้น
RedirectByRegEx
เปลี่ยนเส้นทางคำขอโดยใช้นิพจน์ทั่วไปกับ URL นิพจน์ทั่วไปใช้ไวยากรณ์ RE2
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: RedirectByRegEx) => {...}
- อาร์กิวเมนต์
- returns
-
- จาก
สตริง
รูปแบบการจับคู่ที่อาจมีแคปเจอร์กรุ๊ป ระบบจะอ้างอิงแคปเจอร์กรุ๊ปในไวยากรณ์ Perl ($1, $2, ...) แทนไวยากรณ์ RE2 (\1, \2, ...) เพื่อให้ใกล้เคียงกับนิพจน์ทั่วไปของ JavaScript มากขึ้น
- ถึง
สตริง
รูปแบบปลายทาง
RedirectRequest
การดำเนินการของเหตุการณ์แบบประกาศที่เปลี่ยนเส้นทางคำขอเครือข่าย
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: RedirectRequest) => {...}
- อาร์กิวเมนต์
- returns
-
- redirectUrl
สตริง
ปลายทางที่จะเปลี่ยนเส้นทางคำขอ
RedirectToEmptyDocument
การดำเนินการเกี่ยวกับเหตุการณ์ประกาศที่เปลี่ยนเส้นทางคำขอเครือข่ายไปยังเอกสารที่ว่างเปล่า
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: RedirectToEmptyDocument) => {...}
- อาร์กิวเมนต์
- returns
-
RedirectToTransparentImage
การดำเนินการของเหตุการณ์แบบประกาศที่เปลี่ยนเส้นทางคำขอเครือข่ายไปยังรูปภาพโปร่งใส
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: RedirectToTransparentImage) => {...}
- อาร์กิวเมนต์
- returns
-
RemoveRequestCookie
นำคุกกี้ของคำขอออกอย่างน้อย 1 รายการ โปรดทราบว่าคุณควรใช้ Cookies API เนื่องจากการคำนวณนี้มีราคาถูกกว่า
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: RemoveRequestCookie) => {...}
- อาร์กิวเมนต์
- returns
-
- ตัวกรอง
ตัวกรองสำหรับคุกกี้ที่จะนำออก ระบบจะไม่สนใจข้อมูลที่ว่างเปล่าทั้งหมด
RemoveRequestHeader
นำส่วนหัวคำขอของชื่อที่ระบุออก อย่าใช้ SetRequestHeader และ RemoveRequestHeader ที่มีชื่อส่วนหัวเหมือนกันในคำขอเดียวกัน ชื่อส่วนหัวของคำขอแต่ละรายการจะปรากฏเพียงครั้งเดียวในแต่ละคำขอ
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: RemoveRequestHeader) => {...}
- อาร์กิวเมนต์
- returns
-
- ชื่อ
สตริง
ชื่อส่วนหัวของคำขอ HTTP (ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
RemoveResponseCookie
นำคุกกี้การตอบกลับออกอย่างน้อย 1 รายการ โปรดทราบว่าคุณควรใช้ Cookies API เนื่องจากการคำนวณนี้มีราคาถูกกว่า
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: RemoveResponseCookie) => {...}
- อาร์กิวเมนต์
- returns
-
- ตัวกรอง
ตัวกรองสำหรับคุกกี้ที่จะนำออก ระบบจะไม่สนใจข้อมูลที่ว่างเปล่าทั้งหมด
RemoveResponseHeader
นำส่วนหัวการตอบกลับทั้งหมดของชื่อและค่าที่ระบุออก
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: RemoveResponseHeader) => {...}
- อาร์กิวเมนต์
- returns
-
- ชื่อ
สตริง
ชื่อส่วนหัวของคำขอ HTTP (ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
- value
string ไม่บังคับ
ค่าส่วนหัวของคำขอ HTTP (ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
RequestCookie
ตัวกรองหรือข้อกำหนดของคุกกี้ในคำขอ HTTP
พร็อพเพอร์ตี้
- ชื่อ
string ไม่บังคับ
ชื่อของคุกกี้
- value
string ไม่บังคับ
มูลค่าของคุกกี้ อาจใส่เครื่องหมายคำพูดคู่ได้
RequestMatcher
จับคู่เหตุการณ์ในเครือข่ายตามเกณฑ์ต่างๆ
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: RequestMatcher) => {...}
- อาร์กิวเมนต์
- returns
-
- contentType
string[] ไม่บังคับ
จับคู่หากมีประเภทสื่อ MIME ของการตอบกลับ (จากส่วนหัว Content-Type ของ HTTP) อยู่ในรายการ
- excludeContentType
string[] ไม่บังคับ
จับคู่หากไม่มีประเภทสื่อ MIME ของการตอบกลับ (จากส่วนหัว Content-Type ของ HTTP) อยู่ในรายการ
- excludeRequestHeaders
HeaderFilter[] ไม่บังคับ
จับคู่หากไม่มีส่วนหัวของคำขอรายการใดตรงกับตัวกรองส่วนหัวใดๆ
- excludeResponseHeaders
HeaderFilter[] ไม่บังคับ
จับคู่หากไม่มีส่วนหัวการตอบกลับใดตรงกับตัวกรองส่วนหัวใดๆ
- firstPartyForCookiesUrl
UrlFilter ไม่บังคับ
เลิกใช้งานแล้วละเว้นตั้งแต่รุ่น 82
จับคู่ในกรณีที่เงื่อนไขของ UrlFilter สําหรับ "บุคคลที่หนึ่ง" URL ของคำขอ "บุคคลที่หนึ่ง" URL ของคำขอหากมี อาจแตกต่างจาก URL เป้าหมายของคำขอ และอธิบายสิ่งที่ถือว่าเป็น "บุคคลที่หนึ่ง" เพื่อตรวจสอบคุกกี้ของบุคคลที่สาม
- requestHeaders
HeaderFilter[] ไม่บังคับ
จับคู่หากส่วนหัวของคำขอบางรายการตรงกับตัวกรองส่วนหัวรายการใดรายการหนึ่ง
- resourceType
ResourceType[] ไม่บังคับ
จับคู่ในกรณีที่ประเภทคำขอของคำขออยู่ในรายการ ระบบจะกรองคำขอที่ไม่ตรงกับประเภทใดๆ ออก
- responseHeaders
HeaderFilter[] ไม่บังคับ
จับคู่หากส่วนหัวการตอบกลับบางรายการตรงกับตัวกรองส่วนหัวรายการใดรายการหนึ่ง
- เวที
ช่วง[] ไม่บังคับ
มีรายการสตริงที่อธิบายขั้นตอน ค่าที่อนุญาตคือ "onAfterRequest", "onAfterSendHeaders", "onHeadersReceived", "onAuthrequired" หากมีแอตทริบิวต์นี้อยู่ ระบบจะจำกัดขั้นตอนที่เกี่ยวข้องกับแอตทริบิวต์ดังกล่าว โปรดทราบว่าเงื่อนไขทั้งหมดจะอยู่ในระยะที่เข้ากันได้กับแอตทริบิวต์ทั้งหมดเท่านั้น
- thirdPartyForCookies
บูลีน ไม่บังคับ
เลิกใช้งานแล้วละเว้นตั้งแต่รุ่น 87
หากตั้งค่าเป็น "จริง" จะจับคู่คำขอที่อยู่ภายใต้นโยบายคุกกี้ของบุคคลที่สาม หากตั้งค่าเป็น "เท็จ" จะตรงกับคำขออื่นๆ ทั้งหมด
- URL
UrlFilter ไม่บังคับ
จับคู่ในกรณีที่เงื่อนไขของ UrlFilter มีการตอบสนองสําหรับ URL ของคําขอ
ResponseCookie
ข้อกำหนดของคุกกี้ในการตอบกลับ HTTP
พร็อพเพอร์ตี้
- โดเมน
string ไม่บังคับ
ค่าของแอตทริบิวต์คุกกี้ของโดเมน
- หมดอายุ
string ไม่บังคับ
ค่าของแอตทริบิวต์คุกกี้หมดอายุ
- httpOnly
string ไม่บังคับ
การมีอยู่ของแอตทริบิวต์คุกกี้ HttpOnly
- maxAge
หมายเลข ไม่บังคับ
ค่าของแอตทริบิวต์คุกกี้ Max-Age
- ชื่อ
string ไม่บังคับ
ชื่อของคุกกี้
- เส้นทาง
string ไม่บังคับ
ค่าของแอตทริบิวต์คุกกี้เส้นทาง
- รักษาความปลอดภัย
string ไม่บังคับ
การมีอยู่ของแอตทริบิวต์คุกกี้ที่ปลอดภัย
- value
string ไม่บังคับ
มูลค่าของคุกกี้ อาจใส่เครื่องหมายคำพูดคู่ได้
SendMessageToExtension
ทริกเกอร์เหตุการณ์ declarativeWebRequest.onMessage
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: SendMessageToExtension) => {...}
- อาร์กิวเมนต์
- returns
-
- ข้อความ
สตริง
ค่าที่จะส่งผ่านในแอตทริบิวต์
messageของพจนานุกรมที่ส่งไปยังเครื่องจัดการเหตุการณ์
SetRequestHeader
ตั้งค่าส่วนหัวของคำขอของชื่อที่ระบุเป็นค่าที่ระบุ ถ้าไม่มีส่วนหัวที่มีชื่อที่ระบุอยู่ก่อน ระบบจะสร้างส่วนหัวใหม่ขึ้น การเปรียบเทียบชื่อส่วนหัวจะไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เสมอ ชื่อส่วนหัวของคำขอแต่ละรายการจะปรากฏเพียงครั้งเดียวในแต่ละคำขอ
พร็อพเพอร์ตี้
- เครื่องมือสร้าง
เป็นโมฆะ
ฟังก์ชัน
constructorมีลักษณะดังนี้(arg: SetRequestHeader) => {...}
- อาร์กิวเมนต์
- returns
-
- ชื่อ
สตริง
ชื่อส่วนหัวของคำขอ HTTP
- value
สตริง
ค่าส่วนหัวของคำขอ HTTP
Stage
ค่าแจกแจง
"onbeforeRequest"
"onbeforeSendHeaders"
"onHeadersReceived"
"onAuthrequirements"
กิจกรรม
onMessage
chrome.declarativeWebRequest.onMessage.addListener(
callback: function,
)
เริ่มทำงานเมื่อมีการส่งข้อความผ่าน declarativeWebRequest.SendMessageToExtension จากการดำเนินการของ API คำขอผ่านเว็บที่ต้องประกาศ
พารามิเตอร์
- Callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(details: object) => void
- รายละเอียด
ออบเจ็กต์
- documentId
string ไม่บังคับ
UUID ของเอกสารที่สร้างคำขอ
- documentLifecycle
อายุการใช้งานของเอกสาร
- frameId
ตัวเลข
ค่า 0 บ่งบอกว่าคำขอเกิดขึ้นในเฟรมหลัก ค่าบวกจะระบุรหัสของเฟรมย่อยที่มีคำขอเกิดขึ้น หากโหลดเอกสารของเฟรม (ย่อย) (
typeคือmain_frameหรือsub_frame)frameIdจะระบุรหัสของเฟรมนี้ ไม่ใช่รหัสของเฟรมด้านนอก รหัสเฟรมจะไม่ซ้ำกันภายในแท็บหนึ่งๆ - frameType
ประเภทของเฟรมที่มีการนำทาง
- ข้อความ
สตริง
ข้อความที่ส่งโดยสคริปต์การโทร
- method
สตริง
เมธอด HTTP มาตรฐาน
- parentDocumentId
string ไม่บังคับ
UUID ของเอกสารระดับบนสุดที่เป็นเจ้าของเฟรมนี้ ทั้งนี้จะไม่มีการตั้งค่านี้หากไม่มีการตั้งค่าระดับบนสุด
- parentFrameId
ตัวเลข
รหัสเฟรมที่รวมเฟรมที่ส่งคำขอ หากไม่มีเฟรมหลัก ให้ตั้งค่าเป็น -1
- requestId
สตริง
รหัสของคำขอ รหัสคำขอจะไม่ซ้ำกันภายในเซสชันของเบราว์เซอร์หนึ่งๆ ด้วยเหตุนี้ จึงอาจมีการใช้เหตุการณ์เหล่านั้นเพื่อเชื่อมโยงเหตุการณ์ต่างๆ ของคำขอเดียวกัน
- เก็บพักไว้
ขั้นของคำขอเครือข่ายที่เหตุการณ์ทริกเกอร์
- tabId
ตัวเลข
รหัสของแท็บที่มีคำขอ ตั้งค่าเป็น -1 หากคำขอไม่เกี่ยวข้องกับแท็บ
- timeStamp
ตัวเลข
เวลาที่เกิดการทริกเกอร์สัญญาณนี้ หน่วยเป็นมิลลิวินาทีนับตั้งแต่ Epoch
- ประเภท
วิธีใช้ทรัพยากรที่ขอ
- URL
สตริง
-
-
onRequest
มี Declarative Event API ซึ่งประกอบด้วย addRules, removeRules และ getRules
เงื่อนไข
การทำงาน