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

เงื่อนไข