คำอธิบาย
หมายเหตุ: API นี้เลิกใช้งานแล้ว ลองใช้ declarativeNetRequest
API แทน ใช้ chrome.declarativeWebRequest
API เพื่อสกัดกั้น บล็อก หรือแก้ไขคำขอที่อยู่ระหว่างดำเนินการ มีความรวดเร็วกว่า chrome.webRequest
API อย่างมากเนื่องจากคุณสามารถลงทะเบียนกฎที่ได้รับการประเมินในเบราว์เซอร์แทนเครื่องมือ JavaScript ซึ่งจะลดเวลาในการตอบสนองไป-กลับและทำให้มีประสิทธิภาพสูงขึ้น
สิทธิ์
declarativeWebRequest
คุณต้องประกาศ "declarativeWebRequest" สิทธิ์ในไฟล์ Manifest ของส่วนขยายเพื่อใช้รายการนี้ API ตลอดจนสิทธิ์ของโฮสต์
{
"name": "My extension",
...
"permissions": [
"declarativeWebRequest",
"*://*/*"
],
...
}
ความพร้อมใช้งาน
ไฟล์ Manifest
โปรดทราบว่าการดำเนินการที่ไม่มีความละเอียดอ่อนบางประเภทไม่จำเป็นต้องใช้สิทธิ์ของโฮสต์
CancelRequest
IgnoreRules
RedirectToEmptyDocument
RedirectToTransparentImage
การดำเนินการ 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
เงื่อนไข
การทำงาน