chrome.declarativeWebRequest

คำอธิบาย

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

สิทธิ์

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']
});

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 เป็นไปตามรูปแบบวงจรของคำขอเว็บของ Web Request 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

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

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

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

    เป็นโมฆะ

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

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

  • คุกกี้ที่จะเพิ่มลงในคำขอ ฟิลด์ต้องไม่เป็นค่าที่ไม่ได้กำหนด

AddResponseCookie

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

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

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

    เป็นโมฆะ

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

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

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

AddResponseHeader

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

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

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

    เป็นโมฆะ

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

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

  • ชื่อ

    สตริง

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

  • value

    สตริง

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

CancelRequest

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

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

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

    เป็นโมฆะ

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

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

EditRequestCookie

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

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

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

    เป็นโมฆะ

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

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

  • ตัวกรอง

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

  • การแก้ไข

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

EditResponseCookie

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

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

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

    เป็นโมฆะ

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

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

  • ตัวกรอง

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

  • การแก้ไข

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

FilterResponseCookie

ตัวกรองคุกกี้ในการตอบกลับ HTTP

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

  • ageLowerBound

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

    ขอบเขตล่างแบบรวมของอายุคุกกี้ (ระบุเป็นวินาทีหลังจากเวลาปัจจุบัน) เฉพาะคุกกี้ที่ตั้งค่าวันที่และเวลาหมดอายุเป็น "now + ageLowerBound" หรือหลังจากนั้นเท่านั้นที่จะเป็นไปตามเกณฑ์นี้ คุกกี้เซสชันไม่เป็นไปตามเกณฑ์ของตัวกรองนี้ อายุการใช้งานของคุกกี้จะคำนวณจากแอตทริบิวต์คุกกี้ "max-age" หรือ "expires" หากระบุทั้ง 2 รายการ ระบบจะใช้ "max-age" ในการคำนวณอายุของคุกกี้

  • ageUpperBound

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

    ขอบเขตบนแบบรวมของอายุคุกกี้ (ระบุเป็นวินาทีหลังจากเวลาปัจจุบัน) เฉพาะคุกกี้ที่มีวันที่และเวลาหมดอายุอยู่ในช่วง [now, now + ageUpperBound] เท่านั้นที่จะเป็นไปตามเกณฑ์นี้ คุกกี้เซสชันและคุกกี้ที่มีวันที่และเวลาหมดอายุในอดีตไม่เป็นไปตามเกณฑ์ของตัวกรองนี้ อายุการใช้งานของคุกกี้จะคำนวณจากแอตทริบิวต์คุกกี้ "max-age" หรือ "expires" หากระบุทั้ง 2 รายการ ระบบจะใช้ "max-age" ในการคำนวณอายุของคุกกี้

  • โดเมน

    สตริง ไม่บังคับ

    ค่าของแอตทริบิวต์คุกกี้โดเมน

  • หมดอายุ

    สตริง ไม่บังคับ

    ค่าของแอตทริบิวต์คุกกี้หมดอายุ

  • httpOnly

    สตริง ไม่บังคับ

    การมีแอตทริบิวต์คุกกี้ HttpOnly

  • maxAge

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

    ค่าของแอตทริบิวต์คุกกี้ Max-Age

  • ชื่อ

    สตริง ไม่บังคับ

    ชื่อคุกกี้

  • เส้นทาง

    สตริง ไม่บังคับ

    ค่าของแอตทริบิวต์คุกกี้เส้นทาง

  • ปลอดภัย

    สตริง ไม่บังคับ

    มีแอตทริบิวต์คุกกี้ที่ปลอดภัย

  • sessionCookie

    บูลีน ไม่บังคับ

    กรองคุกกี้เซสชัน คุกกี้เซสชันไม่มีอายุการใช้งานที่ระบุไว้ในแอตทริบิวต์ "max-age" หรือ "expires"

  • value

    สตริง ไม่บังคับ

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

HeaderFilter

กรองส่วนหัวของคำขอตามเกณฑ์ต่างๆ ระบบจะประเมินเกณฑ์หลายรายการเป็นการเชื่อมโยง

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

  • nameContains

    string | string[] ไม่บังคับ

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

  • nameEquals

    สตริง ไม่บังคับ

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

  • namePrefix

    สตริง ไม่บังคับ

    ตรงกันหากชื่อส่วนหัวขึ้นต้นด้วยสตริงที่ระบุ

  • nameSuffix

    สตริง ไม่บังคับ

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

  • valueContains

    string | string[] ไม่บังคับ

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

  • valueEquals

    สตริง ไม่บังคับ

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

  • valuePrefix

    สตริง ไม่บังคับ

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

  • valueSuffix

    สตริง ไม่บังคับ

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

IgnoreRules

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

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

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

    เป็นโมฆะ

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

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

  • hasTag

    สตริง ไม่บังคับ

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

  • lowerPriorityThan

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

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

RedirectByRegEx

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

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

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

    เป็นโมฆะ

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

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

  • จาก

    สตริง

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

  • ถึง

    สตริง

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

RedirectRequest

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

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

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

    เป็นโมฆะ

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

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

  • redirectUrl

    สตริง

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

RedirectToEmptyDocument

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

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

RedirectToTransparentImage

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

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

RemoveRequestCookie

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

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

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

    เป็นโมฆะ

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

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

  • ตัวกรอง

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

RemoveRequestHeader

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

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

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

    เป็นโมฆะ

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

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

  • ชื่อ

    สตริง

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

RemoveResponseCookie

นำคุกกี้ของคำตอบออกอย่างน้อย 1 รายการ โปรดทราบว่าเราขอแนะนำให้ใช้คุกกี้ API เนื่องจากใช้การคำนวณน้อยกว่า

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

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

    เป็นโมฆะ

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

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

  • ตัวกรอง

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

RemoveResponseHeader

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

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

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

    เป็นโมฆะ

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

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

  • ชื่อ

    สตริง

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

  • value

    สตริง ไม่บังคับ

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

RequestCookie

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

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

  • ชื่อ

    สตริง ไม่บังคับ

    ชื่อคุกกี้

  • value

    สตริง ไม่บังคับ

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

RequestMatcher

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

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

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

    เป็นโมฆะ

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

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

  • contentType

    string[] ไม่บังคับ

    ตรงกันหากประเภทสื่อ MIME ของการตอบกลับ (จากส่วนหัว Content-Type ของ HTTP) อยู่ในรายการ

  • excludeContentType

    string[] ไม่บังคับ

    ตรงกันหากประเภทสื่อ MIME ของการตอบกลับ (จากส่วนหัว Content-Type ของ HTTP) ไม่ได้อยู่ในรายการ

  • excludeRequestHeaders

    HeaderFilter[] ไม่บังคับ

    ตรงกันหากไม่มีส่วนหัวคำขอใดที่ตรงกับ HeaderFilters ใดๆ

  • excludeResponseHeaders

    HeaderFilter[] ไม่บังคับ

    ตรงกันหากไม่มีส่วนหัวของการตอบกลับใดที่ตรงกับ HeaderFilters ใดๆ

  • firstPartyForCookiesUrl

    UrlFilter ไม่บังคับ

    เลิกใช้งานแล้ว

    ระบบจะไม่สนใจตั้งแต่เวอร์ชัน 82

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

  • requestHeaders

    HeaderFilter[] ไม่บังคับ

    ตรงกันหากส่วนหัวคำขอตรงกับ HeaderFilters รายการใดรายการหนึ่ง

  • resourceType

    ResourceType[] ไม่บังคับ

    ตรงกันหากประเภทคำขอของคำขออยู่ในรายการ ระบบจะกรองคำขอที่ไม่ตรงกับประเภทใดๆ ออก

  • responseHeaders

    HeaderFilter[] ไม่บังคับ

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

  • เวที

    Stage[] ไม่บังคับ

    มีรายการสตริงที่อธิบายขั้นตอน ค่าที่ใช้ได้คือ "onBeforeRequest", "onBeforeSendHeaders", "onHeadersReceived", "onAuthRequired" หากมีแอตทริบิวต์นี้ ระบบจะจำกัดขั้นตอนที่เกี่ยวข้องให้เป็นขั้นตอนที่ระบุไว้ โปรดทราบว่าเงื่อนไขทั้งหมดจะมีผลเฉพาะในขั้นตอนที่เข้ากันได้กับแอตทริบิวต์ทั้งหมด

  • thirdPartyForCookies

    บูลีน ไม่บังคับ

    เลิกใช้งานแล้ว

    ไม่สนใจตั้งแต่เวอร์ชัน 87

    หากตั้งค่าเป็น "จริง" ระบบจะจับคู่คำขอที่อยู่ภายใต้นโยบายคุกกี้ของบุคคลที่สาม หากตั้งค่าเป็นเท็จ ระบบจะจับคู่คำขออื่นๆ ทั้งหมด

  • URL

    UrlFilter ไม่บังคับ

    ตรงกันหากเงื่อนไขของ UrlFilter เป็นไปตาม URL ของคำขอ

ResponseCookie

ข้อกำหนดของคุกกี้ในการตอบกลับ HTTP

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

  • โดเมน

    สตริง ไม่บังคับ

    ค่าของแอตทริบิวต์คุกกี้โดเมน

  • หมดอายุ

    สตริง ไม่บังคับ

    ค่าของแอตทริบิวต์คุกกี้หมดอายุ

  • httpOnly

    สตริง ไม่บังคับ

    การมีแอตทริบิวต์คุกกี้ HttpOnly

  • maxAge

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

    ค่าของแอตทริบิวต์คุกกี้ Max-Age

  • ชื่อ

    สตริง ไม่บังคับ

    ชื่อคุกกี้

  • เส้นทาง

    สตริง ไม่บังคับ

    ค่าของแอตทริบิวต์คุกกี้เส้นทาง

  • ปลอดภัย

    สตริง ไม่บังคับ

    มีแอตทริบิวต์คุกกี้ที่ปลอดภัย

  • value

    สตริง ไม่บังคับ

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

SendMessageToExtension

ทริกเกอร์เหตุการณ์ declarativeWebRequest.onMessage

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

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

    เป็นโมฆะ

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

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

  • ข้อความ

    สตริง

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

SetRequestHeader

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

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

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

    เป็นโมฆะ

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

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

  • ชื่อ

    สตริง

    ชื่อส่วนหัวของคำขอ HTTP

  • value

    สตริง

    ค่าส่วนหัวของคำขอ HTTP

Stage

ค่าแจกแจง

"onBeforeRequest"

"onBeforeSendHeaders"

"onHeadersReceived"

"onAuthRequired"

กิจกรรม

onMessage

chrome.declarativeWebRequest.onMessage.addListener(
  callback: function,
)

ทริกเกอร์เมื่อมีการส่งข้อความผ่าน declarativeWebRequest.SendMessageToExtension จากการดำเนินการของ Declarative Web Request API

พารามิเตอร์

  • callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (details: object) => void

    • รายละเอียด

      ออบเจ็กต์

      • documentId

        สตริง ไม่บังคับ

        UUID ของเอกสารที่ส่งคำขอ

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

      • frameId

        ตัวเลข

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

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

      • ข้อความ

        สตริง

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

      • method

        สตริง

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

      • parentDocumentId

        สตริง ไม่บังคับ

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

      • parentFrameId

        ตัวเลข

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

      • requestId

        สตริง

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

      • เก็บพักไว้

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

      • tabId

        ตัวเลข

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

      • timeStamp

        ตัวเลข

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

      • ประเภท

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

      • URL

        สตริง

onRequest

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

เงื่อนไข