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 ทำงานตามแนวคิดของ 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) => {...}

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

AddResponseCookie

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

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

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

    เป็นโมฆะ

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

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

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

AddResponseHeader

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

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

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

    เป็นโมฆะ

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

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

  • ชื่อ

    สตริง

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

  • value

    สตริง

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

CancelRequest

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

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

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

    เป็นโมฆะ

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

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

EditRequestCookie

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

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

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

    เป็นโมฆะ

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

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

  • ตัวกรอง

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

  • การแก้ไข

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

EditResponseCookie

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

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

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

    เป็นโมฆะ

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

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

  • ตัวกรอง

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

  • การแก้ไข

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

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

  • hasTag

    string ไม่บังคับ

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

  • lowerPriorityThan

    หมายเลข ไม่บังคับ

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

RedirectByRegEx

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

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

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

    เป็นโมฆะ

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

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

  • จาก

    สตริง

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

  • ถึง

    สตริง

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

RedirectRequest

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

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

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

    เป็นโมฆะ

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

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

  • redirectUrl

    สตริง

    ปลายทางที่จะเปลี่ยนเส้นทางคำขอ

RedirectToEmptyDocument

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

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

RedirectToTransparentImage

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

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

RemoveRequestCookie

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

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

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

    เป็นโมฆะ

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

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

  • ตัวกรอง

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

RemoveRequestHeader

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

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

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

    เป็นโมฆะ

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

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

  • ชื่อ

    สตริง

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

RemoveResponseCookie

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

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

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

    เป็นโมฆะ

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

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

  • ตัวกรอง

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

RemoveResponseHeader

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

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

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

    เป็นโมฆะ

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

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

  • ชื่อ

    สตริง

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

  • value

    string ไม่บังคับ

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

RequestCookie

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

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

  • ชื่อ

    string ไม่บังคับ

    ชื่อของคุกกี้

  • value

    string ไม่บังคับ

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

RequestMatcher

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

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

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

    เป็นโมฆะ

    ฟังก์ชัน 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[] ไม่บังคับ

    จับคู่หากส่วนหัวการตอบกลับบางรายการตรงกับตัวกรองส่วนหัวรายการใดรายการหนึ่ง

  • เวที

    ช่วง[] ไม่บังคับ

    มีรายการสตริงที่อธิบายขั้นตอน ค่าที่อนุญาตคือ "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) => {...}

  • ข้อความ

    สตริง

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

SetRequestHeader

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

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

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

    เป็นโมฆะ

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

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

  • ชื่อ

    สตริง

    ชื่อส่วนหัวของคำขอ 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 ของเอกสารที่สร้างคำขอ

      • อายุการใช้งานของเอกสาร

      • frameId

        ตัวเลข

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

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

      • ข้อความ

        สตริง

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

      • method

        สตริง

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

      • parentDocumentId

        string ไม่บังคับ

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

      • parentFrameId

        ตัวเลข

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

      • requestId

        สตริง

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

      • เก็บพักไว้

        ขั้นของคำขอเครือข่ายที่เหตุการณ์ทริกเกอร์

      • tabId

        ตัวเลข

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

      • timeStamp

        ตัวเลข

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

      • ประเภท

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

      • URL

        สตริง

onRequest

มี Declarative Event API ซึ่งประกอบด้วย addRules, removeRules และ getRules

เงื่อนไข