chrome.declarativeWebRequest

คำอธิบาย

หมายเหตุ: API นี้เลิกใช้งานแล้ว ลองใช้ declarativeNetRequest API แทน ใช้ chrome.declarativeWebRequest API เพื่อสกัดกั้น บล็อก หรือแก้ไขคำขอที่กำลังดำเนินการ รวดเร็วกว่า chrome.webRequest API อย่างมาก เนื่องจากคุณลงทะเบียนกฎที่ได้รับการประเมินในเบราว์เซอร์แทนเครื่องมือ JavaScript ซึ่งจะลดเวลาในการตอบสนองและช่วยให้ประสิทธิภาพสูงขึ้น

สิทธิ์

declarativeWebRequest

คุณต้องประกาศสิทธิ์ "declarativeWebRequest" ในไฟล์ Manifest ของส่วนขยายเพื่อใช้ API นี้ รวมถึงสิทธิ์ของโฮสต์

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

ความพร้อมใช้งาน

เวอร์ชันเบต้า ≤ MV2

ไฟล์ 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)=> {...}

  • คุกกี้ที่จะเพิ่มในคำขอ ไม่มีฟิลด์ที่ระบุไม่ได้

AddResponseCookie

เพิ่มคุกกี้ในการตอบสนองหรือแทนที่คุกกี้ ในกรณีที่มีคุกกี้อื่นชื่อเดียวกันอยู่แล้ว โปรดทราบว่าเราขอแนะนำให้ใช้ Cookies API เนื่องจากการประมวลผลมีราคาถูกกว่า

พร็อพเพอร์ตี้

  • เครื่องมือสร้าง

    void

    ฟังก์ชัน constructor มีลักษณะดังนี้

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

  • ที่จะเพิ่มคุกกี้ลงในการตอบกลับ ต้องระบุชื่อและค่า

AddResponseHeader

เพิ่มส่วนหัวการตอบกลับไปยังการตอบกลับของคำขอเว็บนี้ เนื่องจากส่วนหัวการตอบกลับหลายรายการอาจมีชื่อเดียวกัน คุณจึงต้องนำส่วนหัวการตอบกลับออกก่อน แล้วเพิ่มส่วนหัวการตอบกลับใหม่ เพื่อแทนที่ส่วนหัวเพียงรายการเดียว

พร็อพเพอร์ตี้

  • เครื่องมือสร้าง

    void

    ฟังก์ชัน constructor มีลักษณะดังนี้

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

  • ชื่อ

    string

    ชื่อส่วนหัวการตอบกลับ HTTP

  • value

    string

    ค่าส่วนหัวการตอบกลับ HTTP

CancelRequest

การดำเนินการเกี่ยวกับเหตุการณ์เชิงประกาศที่ยกเลิกคำขอเครือข่าย

พร็อพเพอร์ตี้

  • เครื่องมือสร้าง

    void

    ฟังก์ชัน constructor มีลักษณะดังนี้

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

EditRequestCookie

แก้ไขคุกกี้ของคำขออย่างน้อย 1 รายการ โปรดทราบว่าเราขอแนะนำให้ใช้ Cookies API เนื่องจากการประมวลผลมีราคาถูกกว่า

พร็อพเพอร์ตี้

  • เครื่องมือสร้าง

    void

    ฟังก์ชัน constructor มีลักษณะดังนี้

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

  • ฟิลเตอร์

    กรองหาคุกกี้ที่จะมีการแก้ไข ระบบจะไม่สนใจรายการที่ว่างเปล่าทั้งหมด

  • การแก้ไข

    แอตทริบิวต์ที่จะถูกลบล้างในคุกกี้ที่ผสานตัวกรองเข้าด้วยกัน แอตทริบิวต์ที่ตั้งค่าเป็นสตริงว่างเปล่าจะถูกนำออก

EditResponseCookie

แก้ไขคุกกี้การตอบกลับอย่างน้อย 1 รายการ โปรดทราบว่าเราขอแนะนำให้ใช้ Cookies API เนื่องจากการประมวลผลมีราคาถูกกว่า

พร็อพเพอร์ตี้

  • เครื่องมือสร้าง

    void

    ฟังก์ชัน constructor มีลักษณะดังนี้

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

  • ฟิลเตอร์

    กรองหาคุกกี้ที่จะมีการแก้ไข ระบบจะไม่สนใจรายการที่ว่างเปล่าทั้งหมด

  • การแก้ไข

    แอตทริบิวต์ที่จะถูกลบล้างในคุกกี้ที่ผสานตัวกรองเข้าด้วยกัน แอตทริบิวต์ที่ตั้งค่าเป็นสตริงว่างเปล่าจะถูกนำออก

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[] optional

    จับคู่หากชื่อส่วนหัวมีสตริงที่ระบุทั้งหมด

  • nameEquals

    string ไม่บังคับ

    จับคู่หากชื่อส่วนหัวเท่ากับสตริงที่ระบุ

  • namePrefix

    string ไม่บังคับ

    จับคู่หากชื่อส่วนหัวเริ่มต้นด้วยสตริงที่ระบุ

  • nameSuffix

    string ไม่บังคับ

    จับคู่หากชื่อส่วนหัวลงท้ายด้วยสตริงที่ระบุ

  • valueContains

    string|string[] optional

    จับคู่หากค่าของส่วนหัวมีสตริงที่ระบุทั้งหมด

  • valueEquals

    string ไม่บังคับ

    จับคู่หากค่าส่วนหัวเท่ากับสตริงที่ระบุ

  • valuePrefix

    string ไม่บังคับ

    จับคู่หากค่าของส่วนหัวเริ่มต้นด้วยสตริงที่ระบุ

  • valueSuffix

    string ไม่บังคับ

    จับคู่หากค่าของส่วนหัวลงท้ายด้วยสตริงที่ระบุ

IgnoreRules

มาสก์กฎทั้งหมดที่ตรงกับเกณฑ์ที่ระบุ

พร็อพเพอร์ตี้

  • เครื่องมือสร้าง

    void

    ฟังก์ชัน constructor มีลักษณะดังนี้

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

  • hasTag

    string ไม่บังคับ

    หากมีการตั้งค่า ระบบจะไม่สนใจกฎที่มีแท็กที่ระบุ การละเว้นนี้ไม่คงอยู่ โดยจะส่งผลต่อกฎและการทำงานของกฎในขั้นตอนคำขอเครือข่ายเดียวกันเท่านั้น โปรดทราบว่ากฎจะทำงานตามลำดับความสำคัญจากมากไปหาน้อย การดำเนินการนี้จะส่งผลต่อกฎที่มีลำดับความสำคัญต่ำกว่ากฎปัจจุบัน กฎที่มีลำดับความสำคัญเท่ากันอาจไม่ได้รับการละเว้น

  • lowerPriorityThan

    ตัวเลข ไม่บังคับ

    หากตั้งค่าไว้ ระบบจะไม่สนใจกฎที่มีลำดับความสำคัญต่ำกว่าค่าที่ระบุ ขอบเขตนี้จะยังคงอยู่ ขอบเขตจะส่งผลต่อกฎและการดำเนินการของกฎในขั้นตอนคำขอเครือข่ายเดียวกันเท่านั้น

RedirectByRegEx

เปลี่ยนเส้นทางคำขอโดยใช้นิพจน์ทั่วไปใน URL นิพจน์ทั่วไปใช้ไวยากรณ์ RE2

พร็อพเพอร์ตี้

  • เครื่องมือสร้าง

    void

    ฟังก์ชัน constructor มีลักษณะดังนี้

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

  • จาก

    string

    รูปแบบการจับคู่ที่อาจมีแคปเจอร์กรุ๊ป มีการอ้างอิงแคปเจอร์กรุ๊ปด้วยไวยากรณ์ Perl ($1, $2, ...) แทนไวยากรณ์ RE2 (\1, \2, ...) เพื่อให้ใกล้เคียงกับนิพจน์ทั่วไปของ JavaScript มากขึ้น

  • ถึง

    string

    รูปแบบปลายทาง

RedirectRequest

การดำเนินการของเหตุการณ์เชิงประกาศที่เปลี่ยนเส้นทางคำขอเครือข่าย

พร็อพเพอร์ตี้

  • เครื่องมือสร้าง

    void

    ฟังก์ชัน constructor มีลักษณะดังนี้

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

  • redirectUrl

    string

    ปลายทางไปยังปลายทางที่มีการเปลี่ยนเส้นทางคำขอ

RedirectToEmptyDocument

การดำเนินการของเหตุการณ์เชิงประกาศที่เปลี่ยนเส้นทางคำขอเครือข่ายไปยังเอกสารที่ว่างเปล่า

พร็อพเพอร์ตี้

RedirectToTransparentImage

การดำเนินการของเหตุการณ์เชิงประกาศที่เปลี่ยนเส้นทางคำขอเครือข่ายไปยังรูปภาพโปร่งใส

พร็อพเพอร์ตี้

RemoveRequestCookie

นำคุกกี้ของคำขอออกอย่างน้อย 1 รายการ โปรดทราบว่าเราขอแนะนำให้ใช้ Cookies API เนื่องจากการประมวลผลมีราคาถูกกว่า

พร็อพเพอร์ตี้

  • เครื่องมือสร้าง

    void

    ฟังก์ชัน constructor มีลักษณะดังนี้

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

  • ฟิลเตอร์

    กรองหาคุกกี้ที่จะถูกนำออก ระบบจะไม่สนใจรายการที่ว่างเปล่าทั้งหมด

RemoveRequestHeader

นำส่วนหัวของคำขอที่มีชื่อที่ระบุออก อย่าใช้ SetRequestHeader และ RemoveRequestHeader ที่มีชื่อส่วนหัวเหมือนกันในคำขอเดียวกัน ชื่อส่วนหัวของคำขอแต่ละชื่อจะปรากฏเพียงครั้งเดียวในแต่ละคำขอ

พร็อพเพอร์ตี้

  • เครื่องมือสร้าง

    void

    ฟังก์ชัน constructor มีลักษณะดังนี้

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

  • ชื่อ

    string

    ชื่อส่วนหัวของคำขอ HTTP (ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)

RemoveResponseCookie

นำคุกกี้การตอบกลับออกอย่างน้อย 1 รายการ โปรดทราบว่าเราขอแนะนำให้ใช้ Cookies API เนื่องจากการประมวลผลมีราคาถูกกว่า

พร็อพเพอร์ตี้

  • เครื่องมือสร้าง

    void

    ฟังก์ชัน constructor มีลักษณะดังนี้

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

  • ฟิลเตอร์

    กรองหาคุกกี้ที่จะถูกนำออก ระบบจะไม่สนใจรายการที่ว่างเปล่าทั้งหมด

RemoveResponseHeader

นำส่วนหัวการตอบกลับทั้งหมดของชื่อและค่าที่ระบุออก

พร็อพเพอร์ตี้

  • เครื่องมือสร้าง

    void

    ฟังก์ชัน constructor มีลักษณะดังนี้

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

  • ชื่อ

    string

    ชื่อส่วนหัวของคำขอ HTTP (ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)

  • value

    string ไม่บังคับ

    ค่าส่วนหัวของคำขอ HTTP (ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)

RequestCookie

ตัวกรองหรือข้อกำหนดของคุกกี้ในคำขอ HTTP

พร็อพเพอร์ตี้

  • ชื่อ

    string ไม่บังคับ

    ชื่อคุกกี้

  • value

    string ไม่บังคับ

    ค่าของคุกกี้อาจใส่เครื่องหมายคำพูดคู่ได้

RequestMatcher

จับคู่เหตุการณ์ในเครือข่ายตามเกณฑ์ต่างๆ

พร็อพเพอร์ตี้

  • เครื่องมือสร้าง

    void

    ฟังก์ชัน constructor มีลักษณะดังนี้

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

  • 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)=> {...}

  • ข้อความ

    string

    ค่าที่จะส่งในแอตทริบิวต์ message ของพจนานุกรมที่ส่งไปยังเครื่องจัดการเหตุการณ์

SetRequestHeader

ตั้งค่าส่วนหัวของคำขอของชื่อที่ระบุเป็นค่าที่ระบุ หากก่อนหน้านี้ไม่มีส่วนหัวที่มีชื่อที่ระบุ ระบบจะสร้างส่วนหัวใหม่ การเปรียบเทียบชื่อส่วนหัวจะไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เสมอ ชื่อส่วนหัวของคำขอแต่ละชื่อจะปรากฏเพียงครั้งเดียวในแต่ละคำขอ

พร็อพเพอร์ตี้

  • เครื่องมือสร้าง

    void

    ฟังก์ชัน constructor มีลักษณะดังนี้

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

  • ชื่อ

    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 ของเอกสารที่ส่งคำขอ

      • วงจรการใช้งานเอกสาร

      • frameId

        ตัวเลข

        ค่า 0 บ่งชี้ว่ามีคำขอเกิดขึ้นในเฟรมหลัก ค่าบวกแสดงถึงรหัสของเฟรมย่อยที่มีคำขอเกิดขึ้น หากโหลดเอกสารของเฟรม (ย่อย) ไว้ (type คือ main_frame หรือ sub_frame) frameId จะระบุรหัสของเฟรมนี้ ไม่ใช่รหัสของเฟรมด้านนอก รหัสเฟรมจะไม่ซ้ำกันภายในแท็บหนึ่งๆ

      • ประเภทของเฟรมที่มีการนำทางเกิดขึ้น

      • ข้อความ

        string

        ข้อความที่ส่งโดยสคริปต์การโทร

      • method

        string

        เมธอด HTTP มาตรฐาน

      • parentDocumentId

        string ไม่บังคับ

        UUID ของเอกสารระดับบนสุดที่เป็นเจ้าของเฟรมนี้ ไม่มีการตั้งค่าหากไม่มีตัวเลือกระดับบนสุด

      • parentFrameId

        ตัวเลข

        รหัสของเฟรมที่รวมเฟรมที่ส่งคำขอ ตั้งค่าเป็น -1 หากไม่มีเฟรมหลัก

      • requestId

        string

        รหัสของคำขอ รหัสคําขอจะไม่ซ้ำกันในเซสชันของเบราว์เซอร์ ด้วยเหตุนี้ จึงอาจมีการใช้เหตุการณ์เหล่านั้นในการเชื่อมโยงเหตุการณ์ต่างๆ ของคำขอเดียวกัน

      • เก็บพักไว้

        สถานะของคำขอเครือข่ายในระหว่างที่ทริกเกอร์เหตุการณ์

      • tabId

        ตัวเลข

        รหัสของแท็บที่มีคำขอ ตั้งค่าเป็น -1 หากคำขอไม่เกี่ยวข้องกับแท็บ

      • timeStamp

        ตัวเลข

        เวลาที่สัญญาณนี้ทริกเกอร์ โดยมีหน่วยเป็นมิลลิวินาทีนับตั้งแต่ Epoch

      • ประเภท

        วิธีใช้ทรัพยากรที่ขอ

      • url

        string

onRequest

มี API เหตุการณ์เชิงป้องกันที่ประกอบด้วย addRules, removeRules และ getRules

เงื่อนไข