Mô tả
Lưu ý: API này không được dùng nữa. Thay vào đó, hãy xem API declarativeNetRequest. Dùng API chrome.declarativeWebRequest để chặn, chặn hoặc sửa đổi các yêu cầu đang diễn ra. API này nhanh hơn đáng kể so với API chrome.webRequest vì bạn có thể đăng ký các quy tắc được đánh giá trong trình duyệt thay vì công cụ JavaScript. Điều này giúp giảm độ trễ khứ hồi và tăng hiệu quả.
Quyền
declarativeWebRequestBạn phải khai báo quyền "declarativeWebRequest" trong tệp kê khai tiện ích để sử dụng API này, cùng với quyền truy cập vào máy chủ lưu trữ.
{
"name": "My extension",
...
"permissions": [
"declarativeWebRequest",
"*://*/*"
],
...
}
Phạm vi cung cấp
Tệp kê khai
Xin lưu ý rằng một số loại hành động không nhạy cảm không yêu cầu quyền của máy chủ lưu trữ:
CancelRequestIgnoreRulesRedirectToEmptyDocumentRedirectToTransparentImage
Thao tác SendMessageToExtension() yêu cầu quyền truy cập vào máy chủ lưu trữ đối với mọi máy chủ lưu trữ mà bạn muốn kích hoạt thông báo về yêu cầu mạng.
Tất cả các thao tác khác đều yêu cầu quyền truy cập vào tất cả URL.
Ví dụ: nếu "https://*.google.com/*" là quyền truy cập vào máy chủ lưu trữ duy nhất mà một tiện ích có, thì tiện ích đó có thể thiết lập một quy tắc để:
- Huỷ yêu cầu đối với
https://www.google.comhoặchttps://anything.else.com. - Gửi tin nhắn khi điều hướng đến
https://www.google.comnhưng không gửi khi điều hướng đếnhttps://something.else.com.
Tiện ích không thể thiết lập quy tắc chuyển hướng https://www.google.com đến https://mail.google.com.
Quy tắc
Declarative Web Request API tuân theo các khái niệm của Declarative API. Bạn có thể đăng ký các quy tắc cho đối tượng sự kiện chrome.declarativeWebRequest.onRequest.
API Yêu cầu trên web bằng quy tắc khai báo hỗ trợ một loại tiêu chí so khớp duy nhất, đó là RequestMatcher. RequestMatcher so khớp các yêu cầu mạng khi và chỉ khi tất cả tiêu chí được liệt kê đều được đáp ứng. RequestMatcher sau đây sẽ khớp với một yêu cầu mạng khi người dùng nhập https://www.example.com vào thanh địa chỉ:
var matcher = new chrome.declarativeWebRequest.RequestMatcher({
url: { hostSuffix: 'example.com', schemes: ['http'] },
resourceType: ['main_frame']
});
Yêu cầu đối với https://www.example.com sẽ bị RequestMatcher từ chối do lược đồ.
Ngoài ra, tất cả các yêu cầu về iframe được nhúng sẽ bị từ chối do resourceType.
Để huỷ tất cả các yêu cầu đến "example.com", bạn có thể xác định một quy tắc như sau:
var rule = {
conditions: [
new chrome.declarativeWebRequest.RequestMatcher({
url: { hostSuffix: 'example.com' } })
],
actions: [
new chrome.declarativeWebRequest.CancelRequest()
]
};
Để huỷ tất cả các yêu cầu đối với example.com và foobar.com, bạn có thể thêm điều kiện thứ hai, vì mỗi điều kiện đều đủ để kích hoạt tất cả các thao tác đã chỉ định:
var rule2 = {
conditions: [
new chrome.declarativeWebRequest.RequestMatcher({
url: { hostSuffix: 'example.com' } }),
new chrome.declarativeWebRequest.RequestMatcher({
url: { hostSuffix: 'foobar.com' } })
],
actions: [
new chrome.declarativeWebRequest.CancelRequest()
]
};
Đăng ký các quy tắc như sau:
chrome.declarativeWebRequest.onRequest.addRules([rule2]);
Đánh giá điều kiện và hành động
Declarative Web Request API tuân theo Mô hình vòng đời cho các yêu cầu trên web của Web Request API. Điều này có nghĩa là bạn chỉ có thể kiểm tra các điều kiện ở những giai đoạn cụ thể của một yêu cầu trên web và tương tự, bạn cũng chỉ có thể thực hiện các hành động ở những giai đoạn cụ thể. Các bảng sau đây liệt kê các giai đoạn yêu cầu tương thích với điều kiện và hành động.
| Các giai đoạn yêu cầu mà trong đó các thuộc tính điều kiện có thể được xử lý. | ||||
|---|---|---|---|---|
| Thuộc tính tình trạng | onBeforeRequest | onBeforeSendHeaders | onHeadersReceived | onAuthRequired |
url |
✓ | ✓ | ✓ | ✓ |
resourceType |
✓ | ✓ | ✓ | ✓ |
contentType |
✓ | |||
excludeContentType |
✓ | |||
responseHeaders |
✓ | |||
excludeResponseHeaders |
✓ | |||
requestHeaders |
✓ | |||
excludeRequestHeaders |
✓ | |||
thirdPartyForCookies |
✓ | ✓ | ✓ | ✓ |
| Các giai đoạn yêu cầu mà trong đó có thể thực hiện các hành động. | ||||
| Sự kiện | onBeforeRequest | onBeforeSendHeaders | onHeadersReceived | onAuthRequired |
AddRequestCookie |
✓ | |||
AddResponseCookie |
✓ | |||
AddResponseHeader |
✓ | |||
CancelRequest |
✓ | ✓ | ✓ | ✓ |
EditRequestCookie |
✓ | |||
EditResponseCookie |
✓ | |||
IgnoreRules |
✓ | ✓ | ✓ | ✓ |
RedirectByRegEx |
✓ | ✓ | ||
RedirectRequest |
✓ | ✓ | ||
RedirectToEmptyDocument |
✓ | ✓ | ||
RedirectToTransparentImage |
✓ | ✓ | ||
RemoveRequestCookie |
✓ | |||
RemoveRequestHeader |
✓ | |||
RemoveResponseCookie |
✓ | |||
RemoveResponseHeader |
✓ | |||
SendMessageToExtension |
✓ | ✓ | ✓ | ✓ |
SetRequestHeader |
✓ | |||
Sử dụng mức độ ưu tiên để ghi đè các quy tắc
Bạn có thể liên kết các quy tắc với mức độ ưu tiên như mô tả trong Events API. Bạn có thể dùng cơ chế này để thể hiện các trường hợp ngoại lệ. Ví dụ sau đây chặn mọi yêu cầu đến các hình ảnh có tên evil.jpg, ngoại trừ trên máy chủ "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]);
Điều quan trọng là phải nhận ra rằng thao tác IgnoreRules không được duy trì trong các giai đoạn yêu cầu. Tất cả điều kiện của tất cả các quy tắc đều được đánh giá ở mỗi giai đoạn của một yêu cầu trên web. Nếu một hành động IgnoreRules được thực thi, thì hành động đó chỉ áp dụng cho các hành động khác được thực thi cho cùng một yêu cầu web trong cùng một giai đoạn.
Loại
AddRequestCookie
Thêm một cookie vào yêu cầu hoặc ghi đè một cookie, trong trường hợp đã có một cookie khác có cùng tên. Xin lưu ý rằng bạn nên sử dụng Cookies API vì API này ít tốn kém về mặt tính toán hơn.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: AddRequestCookie) => {...}
-
arg
-
returns
-
-
bánh quy
Cookie sẽ được thêm vào yêu cầu. Không được phép để trống trường nào.
AddResponseCookie
Thêm một cookie vào phản hồi hoặc ghi đè một cookie, trong trường hợp đã có một cookie khác có cùng tên. Xin lưu ý rằng bạn nên sử dụng Cookies API vì API này ít tốn kém về mặt tính toán hơn.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: AddResponseCookie) => {...}
-
returns
-
-
bánh quy
Cookie sẽ được thêm vào phản hồi. Bạn cần chỉ định tên và giá trị.
AddResponseHeader
Thêm tiêu đề phản hồi vào phản hồi của yêu cầu web này. Vì nhiều tiêu đề phản hồi có thể có cùng tên, nên bạn cần xoá trước rồi mới thêm tiêu đề phản hồi mới để thay thế một tiêu đề.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: AddResponseHeader) => {...}
-
returns
-
-
tên
chuỗi
Tên tiêu đề phản hồi HTTP.
-
value
chuỗi
Giá trị tiêu đề phản hồi HTTP.
CancelRequest
Hành động sự kiện khai báo giúp huỷ yêu cầu mạng.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: CancelRequest) => {...}
-
arg
-
returns
-
EditRequestCookie
Chỉnh sửa một hoặc nhiều cookie của yêu cầu. Xin lưu ý rằng bạn nên sử dụng Cookies API vì API này ít tốn kém về mặt tính toán hơn.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: EditRequestCookie) => {...}
-
returns
-
-
filter
Lọc những cookie sẽ được sửa đổi. Tất cả mục nhập trống đều bị bỏ qua.
-
sửa đổi
Các thuộc tính sẽ bị ghi đè trong những cookie khớp với bộ lọc. Các thuộc tính được đặt thành một chuỗi trống sẽ bị xoá.
EditResponseCookie
Chỉnh sửa một hoặc nhiều cookie của phản hồi. Xin lưu ý rằng bạn nên sử dụng Cookies API vì API này ít tốn kém về mặt tính toán hơn.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: EditResponseCookie) => {...}
-
returns
-
-
filter
Lọc những cookie sẽ được sửa đổi. Tất cả mục nhập trống đều bị bỏ qua.
-
sửa đổi
Các thuộc tính sẽ bị ghi đè trong những cookie khớp với bộ lọc. Các thuộc tính được đặt thành một chuỗi trống sẽ bị xoá.
FilterResponseCookie
Bộ lọc cookie trong Phản hồi HTTP.
Thuộc tính
-
ageLowerBound
number không bắt buộc
Hạn dưới bao hàm về thời gian tồn tại của cookie (được chỉ định bằng giây sau thời gian hiện tại). Chỉ những cookie có ngày giờ hết hạn được đặt thành "now + ageLowerBound" (hiện tại + ageLowerBound) hoặc muộn hơn mới đáp ứng tiêu chí này. Cookie phiên không đáp ứng tiêu chí của bộ lọc này. Thời gian tồn tại của cookie được tính dựa trên thuộc tính cookie "max-age" hoặc "expires". Nếu bạn chỉ định cả hai, thì "max-age" sẽ được dùng để tính thời gian tồn tại của cookie.
-
ageUpperBound
number không bắt buộc
Giới hạn trên (bao gồm cả giá trị này) về thời gian tồn tại của cookie (được chỉ định bằng giây sau thời gian hiện tại). Chỉ những cookie có ngày giờ hết hạn nằm trong khoảng [now, now + ageUpperBound] mới đáp ứng tiêu chí này. Cookie phiên và cookie có ngày giờ hết hạn trong quá khứ không đáp ứng tiêu chí của bộ lọc này. Thời gian tồn tại của cookie được tính dựa trên thuộc tính cookie "max-age" hoặc "expires". Nếu bạn chỉ định cả hai, thì "max-age" sẽ được dùng để tính thời gian tồn tại của cookie.
-
tên miền
chuỗi không bắt buộc
Giá trị của thuộc tính Cookie miền.
-
hết hạn
chuỗi không bắt buộc
Giá trị của thuộc tính cookie Expires.
-
httpOnly
chuỗi không bắt buộc
Sự tồn tại của thuộc tính cookie HttpOnly.
-
maxAge
number không bắt buộc
Giá trị của thuộc tính cookie Max-Age
-
tên
chuỗi không bắt buộc
Tên của một cookie.
-
đường dẫn
chuỗi không bắt buộc
Giá trị của thuộc tính cookie Đường dẫn.
-
bảo mật
chuỗi không bắt buộc
Sự tồn tại của thuộc tính Cookie bảo mật.
-
sessionCookie
boolean không bắt buộc
Lọc cookie của phiên. Cookie phiên không có thời gian tồn tại được chỉ định trong bất kỳ thuộc tính "max-age" hoặc "expires" nào.
-
value
chuỗi không bắt buộc
Giá trị của cookie, có thể được đặt trong dấu ngoặc kép.
HeaderFilter
Lọc tiêu đề yêu cầu theo nhiều tiêu chí. Nhiều tiêu chí được đánh giá dưới dạng một liên từ.
Thuộc tính
-
nameContains
string | string[] không bắt buộc
Khớp nếu tên tiêu đề chứa tất cả các chuỗi được chỉ định.
-
nameEquals
chuỗi không bắt buộc
Khớp nếu tên tiêu đề bằng với chuỗi được chỉ định.
-
namePrefix
chuỗi không bắt buộc
Khớp nếu tên tiêu đề bắt đầu bằng chuỗi đã chỉ định.
-
nameSuffix
chuỗi không bắt buộc
Khớp nếu tên tiêu đề kết thúc bằng chuỗi đã chỉ định.
-
valueContains
string | string[] không bắt buộc
Khớp nếu giá trị tiêu đề chứa tất cả các chuỗi được chỉ định.
-
valueEquals
chuỗi không bắt buộc
So khớp nếu giá trị tiêu đề bằng với chuỗi được chỉ định.
-
valuePrefix
chuỗi không bắt buộc
So khớp nếu giá trị tiêu đề bắt đầu bằng chuỗi đã chỉ định.
-
valueSuffix
chuỗi không bắt buộc
So khớp nếu giá trị tiêu đề kết thúc bằng chuỗi đã chỉ định.
IgnoreRules
Che tất cả các quy tắc khớp với tiêu chí đã chỉ định.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: IgnoreRules) => {...}
-
arg
-
returns
-
-
hasTag
chuỗi không bắt buộc
Nếu được đặt, các quy tắc có thẻ được chỉ định sẽ bị bỏ qua. Thao tác bỏ qua này không được duy trì, mà chỉ ảnh hưởng đến các quy tắc và hành động của chúng trong cùng giai đoạn yêu cầu mạng. Xin lưu ý rằng các quy tắc được thực thi theo thứ tự giảm dần về mức độ ưu tiên. Hành động này ảnh hưởng đến các quy tắc có mức độ ưu tiên thấp hơn quy tắc hiện tại. Các quy tắc có cùng mức độ ưu tiên có thể bị bỏ qua hoặc không.
-
lowerPriorityThan
number không bắt buộc
Nếu được đặt, các quy tắc có mức độ ưu tiên thấp hơn giá trị được chỉ định sẽ bị bỏ qua. Ranh giới này không được duy trì, mà chỉ ảnh hưởng đến các quy tắc và hành động của chúng trong cùng một giai đoạn yêu cầu mạng.
RedirectByRegEx
Chuyển hướng một yêu cầu bằng cách áp dụng biểu thức chính quy trên URL. Các biểu thức chính quy sử dụng cú pháp RE2.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: RedirectByRegEx) => {...}
-
arg
-
returns
-
-
từ
chuỗi
Một mẫu so khớp có thể chứa các nhóm thu thập. Các nhóm chụp được tham chiếu trong cú pháp Perl ($1, $2, ...) thay vì cú pháp RE2 (\1, \2, ...) để gần với Biểu thức chính quy JavaScript hơn.
-
tới
chuỗi
Mẫu đích đến.
RedirectRequest
Hành động sự kiện khai báo chuyển hướng một yêu cầu mạng.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: RedirectRequest) => {...}
-
arg
-
returns
-
-
redirectUrl
chuỗi
Đích đến nơi yêu cầu được chuyển hướng.
RedirectToEmptyDocument
Hành động sự kiện khai báo chuyển hướng một yêu cầu mạng đến một tài liệu trống.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: RedirectToEmptyDocument) => {...}
-
returns
-
RedirectToTransparentImage
Hành động sự kiện khai báo chuyển hướng một yêu cầu mạng đến một hình ảnh trong suốt.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: RedirectToTransparentImage) => {...}
-
returns
-
RemoveRequestCookie
Xoá một hoặc nhiều cookie của yêu cầu. Xin lưu ý rằng bạn nên sử dụng Cookies API vì API này ít tốn kém về mặt tính toán hơn.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: RemoveRequestCookie) => {...}
-
returns
-
-
filter
Lọc những cookie sẽ bị xoá. Tất cả mục nhập trống đều bị bỏ qua.
RemoveRequestHeader
Xoá tiêu đề của yêu cầu có tên được chỉ định. Không sử dụng SetRequestHeader và RemoveRequestHeader với cùng một tên tiêu đề trong cùng một yêu cầu. Mỗi tên tiêu đề của yêu cầu chỉ xuất hiện một lần trong mỗi yêu cầu.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: RemoveRequestHeader) => {...}
-
returns
-
-
tên
chuỗi
Tên tiêu đề của yêu cầu HTTP (không phân biệt chữ hoa chữ thường).
RemoveResponseCookie
Xoá một hoặc nhiều cookie của phản hồi. Xin lưu ý rằng bạn nên sử dụng Cookies API vì API này ít tốn kém về mặt tính toán hơn.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: RemoveResponseCookie) => {...}
-
returns
-
-
filter
Lọc những cookie sẽ bị xoá. Tất cả mục nhập trống đều bị bỏ qua.
RemoveResponseHeader
Xoá tất cả tiêu đề phản hồi có tên và giá trị được chỉ định.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: RemoveResponseHeader) => {...}
-
returns
-
-
tên
chuỗi
Tên tiêu đề của yêu cầu HTTP (không phân biệt chữ hoa chữ thường).
-
value
chuỗi không bắt buộc
Giá trị tiêu đề của yêu cầu HTTP (không phân biệt chữ hoa chữ thường).
RequestCookie
Bộ lọc hoặc quy cách của cookie trong Yêu cầu HTTP.
Thuộc tính
-
tên
chuỗi không bắt buộc
Tên của một cookie.
-
value
chuỗi không bắt buộc
Giá trị của cookie, có thể được đặt trong dấu ngoặc kép.
RequestMatcher
So khớp các sự kiện mạng theo nhiều tiêu chí.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: RequestMatcher) => {...}
-
arg
-
returns
-
-
contentType
string[] không bắt buộc
Khớp nếu loại nội dung đa phương tiện MIME của một phản hồi (từ tiêu đề Content-Type HTTP) có trong danh sách.
-
excludeContentType
string[] không bắt buộc
Khớp nếu loại phương tiện MIME của một phản hồi (từ tiêu đề Content-Type của HTTP) không có trong danh sách.
-
excludeRequestHeaders
HeaderFilter[] không bắt buộc
Khớp nếu không có tiêu đề yêu cầu nào khớp với bất kỳ HeaderFilter nào.
-
excludeResponseHeaders
HeaderFilter[] không bắt buộc
Khớp nếu không có tiêu đề phản hồi nào khớp với bất kỳ HeaderFilter nào.
-
firstPartyForCookiesUrl
UrlFilter không bắt buộc
Không dùng nữaBị bỏ qua kể từ phiên bản 82.
Khớp nếu các điều kiện của UrlFilter được đáp ứng cho URL "bên thứ nhất" của yêu cầu. URL "bên thứ nhất" của một yêu cầu (nếu có) có thể khác với URL mục tiêu của yêu cầu và mô tả những gì được coi là "bên thứ nhất" vì mục đích kiểm tra cookie của bên thứ ba.
-
requestHeaders
HeaderFilter[] không bắt buộc
Khớp nếu một số tiêu đề yêu cầu được một trong các HeaderFilter khớp.
-
resourceType
ResourceType[] không bắt buộc
Khớp nếu loại yêu cầu của một yêu cầu có trong danh sách. Những yêu cầu không khớp với bất kỳ loại nào sẽ bị lọc ra.
-
responseHeaders
HeaderFilter[] không bắt buộc
Khớp nếu một trong các HeaderFilter khớp với một số tiêu đề phản hồi.
-
giai đoạn
Giai đoạn[] không bắt buộc
Chứa danh sách các chuỗi mô tả các giai đoạn. Các giá trị được phép là "onBeforeRequest", "onBeforeSendHeaders", "onHeadersReceived", "onAuthRequired". Nếu thuộc tính này xuất hiện, thì thuộc tính này sẽ giới hạn các giai đoạn áp dụng cho những giai đoạn được liệt kê. Xin lưu ý rằng toàn bộ điều kiện chỉ áp dụng trong các giai đoạn tương thích với tất cả thuộc tính.
-
thirdPartyForCookies
boolean không bắt buộc
Không dùng nữaBị bỏ qua kể từ phiên bản 87.
Nếu được đặt thành true, thì sẽ so khớp các yêu cầu tuân theo chính sách về cookie của bên thứ ba. Nếu được đặt thành false, thì sẽ khớp với tất cả các yêu cầu khác.
-
url
UrlFilter không bắt buộc
Khớp nếu các điều kiện của UrlFilter được đáp ứng cho URL của yêu cầu.
ResponseCookie
Quy cách của một cookie trong Phản hồi HTTP.
Thuộc tính
-
tên miền
chuỗi không bắt buộc
Giá trị của thuộc tính Cookie miền.
-
hết hạn
chuỗi không bắt buộc
Giá trị của thuộc tính cookie Expires.
-
httpOnly
chuỗi không bắt buộc
Sự tồn tại của thuộc tính cookie HttpOnly.
-
maxAge
number không bắt buộc
Giá trị của thuộc tính cookie Max-Age
-
tên
chuỗi không bắt buộc
Tên của một cookie.
-
đường dẫn
chuỗi không bắt buộc
Giá trị của thuộc tính cookie Đường dẫn.
-
bảo mật
chuỗi không bắt buộc
Sự tồn tại của thuộc tính Cookie bảo mật.
-
value
chuỗi không bắt buộc
Giá trị của cookie, có thể được đặt trong dấu ngoặc kép.
SendMessageToExtension
Kích hoạt sự kiện declarativeWebRequest.onMessage.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: SendMessageToExtension) => {...}
-
returns
-
-
tin nhắn
chuỗi
Giá trị sẽ được truyền trong thuộc tính
messagecủa từ điển được truyền đến trình xử lý sự kiện.
SetRequestHeader
Đặt tiêu đề của yêu cầu có tên đã chỉ định thành giá trị đã chỉ định. Nếu trước đó chưa có tiêu đề nào có tên được chỉ định, thì một tiêu đề mới sẽ được tạo. Việc so sánh tên tiêu đề luôn không phân biệt chữ hoa chữ thường. Mỗi tên tiêu đề của yêu cầu chỉ xuất hiện một lần trong mỗi yêu cầu.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructorcó dạng như sau:(arg: SetRequestHeader) => {...}
-
arg
-
returns
-
-
tên
chuỗi
Tên tiêu đề của yêu cầu HTTP.
-
value
chuỗi
Giá trị tiêu đề của yêu cầu HTTP.
Stage
Enum
"onBeforeRequest"
"onBeforeSendHeaders"
"onHeadersReceived"
"onAuthRequired"
Sự kiện
onMessage
chrome.declarativeWebRequest.onMessage.addListener(
callback: function,
)
Được kích hoạt khi một thông báo được gửi qua declarativeWebRequest.SendMessageToExtension từ một thao tác của API yêu cầu web khai báo.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(details: object) => void
-
chi tiết
đối tượng
-
documentId
chuỗi không bắt buộc
UUID của tài liệu đã đưa ra yêu cầu.
-
documentLifecycle
Vòng đời của tài liệu.
-
frameId
số
Giá trị 0 cho biết yêu cầu xảy ra trong khung chính; giá trị dương cho biết mã nhận dạng của một khung phụ mà yêu cầu xảy ra. Nếu tài liệu của một khung (phụ) được tải (
typelàmain_framehoặcsub_frame),frameIdcho biết mã nhận dạng của khung này, chứ không phải mã nhận dạng của khung bên ngoài. Mã nhận dạng khung là duy nhất trong một thẻ. -
frameType
Loại khung mà hoạt động điều hướng diễn ra.
-
tin nhắn
chuỗi
Tin nhắn do tập lệnh gọi gửi.
-
method
chuỗi
Phương thức HTTP tiêu chuẩn.
-
parentDocumentId
chuỗi không bắt buộc
UUID của tài liệu mẹ sở hữu khung này. Giá trị này sẽ không được đặt nếu không có tài sản mẹ.
-
parentFrameId
số
Mã nhận dạng của khung bao bọc khung đã gửi yêu cầu. Đặt thành -1 nếu không có khung mẹ.
-
requestId
chuỗi
Mã nhận dạng của yêu cầu. Mã yêu cầu là duy nhất trong một phiên trình duyệt. Do đó, bạn có thể dùng các giá trị này để liên kết các sự kiện khác nhau của cùng một yêu cầu.
-
giai đoạn
Giai đoạn của yêu cầu mạng trong đó sự kiện được kích hoạt.
-
tabId
số
Mã nhận dạng của thẻ nơi diễn ra yêu cầu. Đặt thành -1 nếu yêu cầu không liên quan đến thẻ.
-
timeStamp
số
Thời gian kích hoạt tín hiệu này, tính bằng mili giây kể từ thời gian bắt đầu của hệ thống.
-
Cách tài nguyên được yêu cầu sẽ được sử dụng.
-
url
chuỗi
-
-
onRequest
Cung cấp Declarative Event API bao gồm addRules, removeRules và getRules.
Điều kiện
Thao tác