คำอธิบาย
หมายเหตุ: 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 ให้เป็นไปตามแนวคิดของ Conlarative 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']
});
คำขอที่ส่งไปยัง https://www.example.com
จะถูกปฏิเสธโดย RequestMatcher
เนื่องจากอยู่ในรูปแบบดังกล่าว
และคำขอทั้งหมดสำหรับ 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 ตามโมเดลวงจรสำหรับคำขอของเว็บของ WebRequest 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 |
✓ |
ใช้ลำดับความสำคัญเพื่อลบล้างกฎ
คุณเชื่อมโยงกฎกับลำดับความสำคัญได้ตามที่อธิบายไว้ใน Event 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) => {...}
-
อาร์กิวเมนต์
-
returns
-
-
คุกกี้
คุกกี้ที่จะเพิ่มในคำขอ ไม่มีฟิลด์ที่ระบุไม่ได้
AddResponseCookie
เพิ่มคุกกี้ในการตอบสนองหรือแทนที่คุกกี้ ในกรณีที่มีคุกกี้อื่นชื่อเดียวกันอยู่แล้ว โปรดทราบว่าเราขอแนะนำให้ใช้ Cookies API เนื่องจากการประมวลผลมีราคาถูกกว่า
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: AddResponseCookie) => {...}
-
อาร์กิวเมนต์
-
returns
-
-
คุกกี้
ที่จะเพิ่มคุกกี้ลงในการตอบกลับ ต้องระบุชื่อและค่า
AddResponseHeader
เพิ่มส่วนหัวการตอบกลับไปยังการตอบกลับของคำขอเว็บนี้ เนื่องจากส่วนหัวการตอบกลับหลายรายการอาจมีชื่อเดียวกัน คุณจึงต้องนำส่วนหัวการตอบกลับออกก่อน แล้วเพิ่มส่วนหัวการตอบกลับใหม่ เพื่อแทนที่ส่วนหัวเพียงรายการเดียว
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: AddResponseHeader) => {...}
-
อาร์กิวเมนต์
-
returns
-
-
ชื่อ
string
ชื่อส่วนหัวการตอบกลับ HTTP
-
value
string
ค่าส่วนหัวการตอบกลับ HTTP
CancelRequest
การดำเนินการเกี่ยวกับเหตุการณ์เชิงประกาศที่ยกเลิกคำขอเครือข่าย
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: CancelRequest) => {...}
-
อาร์กิวเมนต์
-
returns
-
EditRequestCookie
แก้ไขคุกกี้ของคำขออย่างน้อย 1 รายการ โปรดทราบว่าเราขอแนะนำให้ใช้ Cookies API เนื่องจากการประมวลผลมีราคาถูกกว่า
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: EditRequestCookie) => {...}
-
อาร์กิวเมนต์
-
returns
-
-
ฟิลเตอร์
กรองหาคุกกี้ที่จะมีการแก้ไข ระบบจะไม่สนใจรายการที่ว่างเปล่าทั้งหมด
-
การแก้ไข
แอตทริบิวต์ที่จะถูกลบล้างในคุกกี้ที่ผสานตัวกรองเข้าด้วยกัน แอตทริบิวต์ที่ตั้งค่าเป็นสตริงว่างเปล่าจะถูกนำออก
EditResponseCookie
แก้ไขคุกกี้การตอบกลับอย่างน้อย 1 รายการ โปรดทราบว่าเราขอแนะนำให้ใช้ Cookies API เนื่องจากการประมวลผลมีราคาถูกกว่า
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: EditResponseCookie) => {...}
-
อาร์กิวเมนต์
-
returns
-
-
ฟิลเตอร์
กรองหาคุกกี้ที่จะมีการแก้ไข ระบบจะไม่สนใจรายการที่ว่างเปล่าทั้งหมด
-
การแก้ไข
แอตทริบิวต์ที่จะถูกลบล้างในคุกกี้ที่ผสานตัวกรองเข้าด้วยกัน แอตทริบิวต์ที่ตั้งค่าเป็นสตริงว่างเปล่าจะถูกนำออก
FilterResponseCookie
ตัวกรองของคุกกี้ในการตอบกลับ HTTP
พร็อพเพอร์ตี้
-
ageLowerBound
ตัวเลข ไม่บังคับ
ขอบเขตล่างโดยรวมสำหรับอายุการใช้งานของคุกกี้ (ระบุเป็นวินาทีหลังจากเวลาปัจจุบัน) เฉพาะคุกกี้ที่ตั้งค่าวันที่และเวลาหมดอายุเป็น "ตอนนี้ + อายุล่างขึ้น" หรือตั้งค่าตามเกณฑ์นี้หลังจากนี้ คุกกี้เซสชันไม่ตรงกับเกณฑ์ของตัวกรองนี้ อายุการใช้งานของคุกกี้คำนวณจากแอตทริบิวต์คุกกี้ "max-age" หรือ "expires" หากระบุทั้งคู่ ระบบจะใช้ "max-age" ในการคำนวณอายุการใช้งานของคุกกี้
-
ageUpperBound
ตัวเลข ไม่บังคับ
ขอบเขตบนที่ครอบคลุมอายุการใช้งานของคุกกี้ (ระบุเป็นวินาทีหลังจากเวลาปัจจุบัน) เฉพาะคุกกี้ที่มีวันที่และเวลาหมดอายุอยู่ในช่วงเวลา [ตอนนี้ ในขณะนี้ + ageUpperBound] ตามเกณฑ์นี้ คุกกี้ของเซสชันและคุกกี้ที่มีวันที่และเวลาหมดอายุในอดีตไม่เป็นไปตามเกณฑ์ของตัวกรองนี้ อายุการใช้งานของคุกกี้คำนวณจากแอตทริบิวต์คุกกี้ "max-age" หรือ "expires" หากระบุทั้งคู่ ระบบจะใช้ "max-age" ในการคำนวณอายุการใช้งานของคุกกี้
-
โดเมน
string ไม่บังคับ
ค่าของแอตทริบิวต์คุกกี้โดเมน
-
หมดอายุ
string ไม่บังคับ
ค่าของแอตทริบิวต์คุกกี้หมดอายุ
-
httpOnly
string ไม่บังคับ
การมีอยู่ของแอตทริบิวต์คุกกี้ HttpOnly
-
maxAge
ตัวเลข ไม่บังคับ
ค่าของแอตทริบิวต์คุกกี้ Max-Age
-
ชื่อ
string ไม่บังคับ
ชื่อคุกกี้
-
เส้นทาง
string ไม่บังคับ
ค่าของแอตทริบิวต์คุกกี้เส้นทาง
-
รักษาความปลอดภัย
string ไม่บังคับ
การมีอยู่ของแอตทริบิวต์คุกกี้ที่ปลอดภัย
-
sessionCookie
บูลีน ไม่บังคับ
กรองคุกกี้ของเซสชัน คุกกี้ของเซสชันไม่มีการระบุอายุการใช้งานในแอตทริบิวต์ "max-age" หรือ "expires" ใดๆ
-
value
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) => {...}
-
อาร์กิวเมนต์
-
returns
-
-
hasTag
string ไม่บังคับ
หากมีการตั้งค่า ระบบจะไม่สนใจกฎที่มีแท็กที่ระบุ การละเว้นนี้ไม่คงอยู่ โดยจะส่งผลต่อกฎและการทำงานของกฎในขั้นตอนคำขอเครือข่ายเดียวกันเท่านั้น โปรดทราบว่ากฎจะทำงานตามลำดับความสำคัญจากมากไปหาน้อย การดำเนินการนี้จะส่งผลต่อกฎที่มีลำดับความสำคัญต่ำกว่ากฎปัจจุบัน กฎที่มีลำดับความสำคัญเท่ากันอาจไม่ได้รับการละเว้น
-
lowerPriorityThan
ตัวเลข ไม่บังคับ
หากตั้งค่าไว้ ระบบจะไม่สนใจกฎที่มีลำดับความสำคัญต่ำกว่าค่าที่ระบุ ขอบเขตนี้จะยังคงอยู่ ขอบเขตจะส่งผลต่อกฎและการดำเนินการของกฎในขั้นตอนคำขอเครือข่ายเดียวกันเท่านั้น
RedirectByRegEx
เปลี่ยนเส้นทางคำขอโดยใช้นิพจน์ทั่วไปใน URL นิพจน์ทั่วไปใช้ไวยากรณ์ RE2
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: RedirectByRegEx) => {...}
-
อาร์กิวเมนต์
-
returns
-
-
จาก
string
รูปแบบการจับคู่ที่อาจมีแคปเจอร์กรุ๊ป มีการอ้างอิงแคปเจอร์กรุ๊ปด้วยไวยากรณ์ Perl ($1, $2, ...) แทนไวยากรณ์ RE2 (\1, \2, ...) เพื่อให้ใกล้เคียงกับนิพจน์ทั่วไปของ JavaScript มากขึ้น
-
ถึง
string
รูปแบบปลายทาง
RedirectRequest
การดำเนินการของเหตุการณ์เชิงประกาศที่เปลี่ยนเส้นทางคำขอเครือข่าย
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: RedirectRequest) => {...}
-
อาร์กิวเมนต์
-
returns
-
-
redirectUrl
string
ปลายทางไปยังปลายทางที่มีการเปลี่ยนเส้นทางคำขอ
RedirectToEmptyDocument
การดำเนินการของเหตุการณ์เชิงประกาศที่เปลี่ยนเส้นทางคำขอเครือข่ายไปยังเอกสารที่ว่างเปล่า
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: RedirectToEmptyDocument) => {...}
-
อาร์กิวเมนต์
-
returns
-
RedirectToTransparentImage
การดำเนินการของเหตุการณ์เชิงประกาศที่เปลี่ยนเส้นทางคำขอเครือข่ายไปยังรูปภาพโปร่งใส
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: RedirectToTransparentImage) => {...}
-
อาร์กิวเมนต์
-
returns
-
RemoveRequestCookie
นำคุกกี้ของคำขอออกอย่างน้อย 1 รายการ โปรดทราบว่าเราขอแนะนำให้ใช้ Cookies API เนื่องจากการประมวลผลมีราคาถูกกว่า
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: RemoveRequestCookie) => {...}
-
อาร์กิวเมนต์
-
returns
-
-
ฟิลเตอร์
กรองหาคุกกี้ที่จะถูกนำออก ระบบจะไม่สนใจรายการที่ว่างเปล่าทั้งหมด
RemoveRequestHeader
นำส่วนหัวของคำขอที่มีชื่อที่ระบุออก อย่าใช้ SetRequestHeader และ RemoveRequestHeader ที่มีชื่อส่วนหัวเหมือนกันในคำขอเดียวกัน ชื่อส่วนหัวของคำขอแต่ละชื่อจะปรากฏเพียงครั้งเดียวในแต่ละคำขอ
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: RemoveRequestHeader) => {...}
-
อาร์กิวเมนต์
-
returns
-
-
ชื่อ
string
ชื่อส่วนหัวของคำขอ HTTP (ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
RemoveResponseCookie
นำคุกกี้การตอบกลับออกอย่างน้อย 1 รายการ โปรดทราบว่าเราขอแนะนำให้ใช้ Cookies API เนื่องจากการประมวลผลมีราคาถูกกว่า
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: RemoveResponseCookie) => {...}
-
อาร์กิวเมนต์
-
returns
-
-
ฟิลเตอร์
กรองหาคุกกี้ที่จะถูกนำออก ระบบจะไม่สนใจรายการที่ว่างเปล่าทั้งหมด
RemoveResponseHeader
นำส่วนหัวการตอบกลับทั้งหมดของชื่อและค่าที่ระบุออก
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: RemoveResponseHeader) => {...}
-
อาร์กิวเมนต์
-
returns
-
-
ชื่อ
string
ชื่อส่วนหัวของคำขอ HTTP (ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
-
value
string ไม่บังคับ
ค่าส่วนหัวของคำขอ HTTP (ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
RequestCookie
ตัวกรองหรือข้อกำหนดของคุกกี้ในคำขอ HTTP
พร็อพเพอร์ตี้
-
ชื่อ
string ไม่บังคับ
ชื่อคุกกี้
-
value
string ไม่บังคับ
ค่าของคุกกี้อาจใส่เครื่องหมายคำพูดคู่ได้
RequestMatcher
จับคู่เหตุการณ์ในเครือข่ายตามเกณฑ์ต่างๆ
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
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[] ไม่บังคับ
จับคู่หากส่วนหัวการตอบกลับบางรายการตรงกับตัวกรองส่วนหัวรายการใดรายการหนึ่ง
-
เวที
Stage[] ไม่บังคับ
มีรายการสตริงที่อธิบายขั้นตอน ค่าที่อนุญาตคือ "onbeforeRequest", "onbeforeSendHeaders", "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
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: SendMessageToExtension) => {...}
-
อาร์กิวเมนต์
-
returns
-
-
ข้อความ
string
ค่าที่จะส่งในแอตทริบิวต์
message
ของพจนานุกรมที่ส่งไปยังเครื่องจัดการเหตุการณ์
SetRequestHeader
ตั้งค่าส่วนหัวของคำขอของชื่อที่ระบุเป็นค่าที่ระบุ หากก่อนหน้านี้ไม่มีส่วนหัวที่มีชื่อที่ระบุ ระบบจะสร้างส่วนหัวใหม่ การเปรียบเทียบชื่อส่วนหัวจะไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เสมอ ชื่อส่วนหัวของคำขอแต่ละชื่อจะปรากฏเพียงครั้งเดียวในแต่ละคำขอ
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
void
ฟังก์ชัน
constructor
มีลักษณะดังนี้(arg: SetRequestHeader) => {...}
-
อาร์กิวเมนต์
-
returns
-
-
ชื่อ
string
ชื่อส่วนหัวของคำขอ HTTP
-
value
string
ค่าส่วนหัวของคำขอ HTTP
Stage
ค่าแจกแจง
"onHeadersReceived"
เหตุการณ์
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
ประเภทของเฟรมที่มีการนำทางเกิดขึ้น
-
ข้อความ
string
ข้อความที่ส่งโดยสคริปต์การโทร
-
method
string
เมธอด HTTP มาตรฐาน
-
parentDocumentId
string ไม่บังคับ
UUID ของเอกสารระดับบนสุดที่เป็นเจ้าของเฟรมนี้ ไม่มีการตั้งค่าหากไม่มีตัวเลือกระดับบนสุด
-
parentFrameId
ตัวเลข
รหัสของเฟรมที่รวมเฟรมที่ส่งคำขอ ตั้งค่าเป็น -1 หากไม่มีเฟรมหลัก
-
requestId
string
รหัสของคำขอ รหัสคําขอจะไม่ซ้ำกันในเซสชันของเบราว์เซอร์ ด้วยเหตุนี้ จึงอาจมีการใช้เหตุการณ์เหล่านั้นในการเชื่อมโยงเหตุการณ์ต่างๆ ของคำขอเดียวกัน
-
เก็บพักไว้
สถานะของคำขอเครือข่ายในระหว่างที่ทริกเกอร์เหตุการณ์
-
tabId
ตัวเลข
รหัสของแท็บที่มีคำขอ ตั้งค่าเป็น -1 หากคำขอไม่เกี่ยวข้องกับแท็บ
-
timeStamp
ตัวเลข
เวลาที่สัญญาณนี้ทริกเกอร์ โดยมีหน่วยเป็นมิลลิวินาทีนับตั้งแต่ Epoch
-
ประเภท
วิธีใช้ทรัพยากรที่ขอ
-
url
string
-
-
onRequest
มี API เหตุการณ์เชิงป้องกันที่ประกอบด้วย addRules
, removeRules
และ getRules
เงื่อนไข
การดำเนินการ