Mô tả
Lưu ý: API này không còn được dùng nữa. Hãy chuyển sang dùng thử 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, giúp giảm độ trễ trọn vòng và mang lại hiệu quả cao hơn.
Quyền
declarativeWebRequest
Bạn phải khai báo thuộc tính "declarativeWebRequest" quyền trong tệp kê khai tiện ích để sử dụng API, cùng với quyền của máy chủ.
{
"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 thao tác không nhạy cảm không yêu cầu quyền của máy chủ:
CancelRequest
IgnoreRules
RedirectToEmptyDocument
RedirectToTransparentImage
Thao tác SendMessageToExtension()
cần có quyền của máy chủ đối với mọi máy chủ có yêu cầu về mạng
mà bạn muốn kích hoạt một thông báo trên đó.
Tất cả các hành động khác yêu cầu quyền của máy chủ đối với tất cả URL.
Ví dụ: nếu "https://*.google.com/*"
là quyền máy chủ duy nhất mà một tiện ích có, thì
tiện ích có thể thiết lập quy tắc để:
- Huỷ yêu cầu đến
https://www.google.com
hoặchttps://anything.else.com
. - Gửi tin nhắn khi đang đi đến
https://www.google.com
nhưng không gửi đế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
Khai báo API yêu cầu web tuân theo các khái niệm của API Khai báo. Bạn có thể đăng ký
quy tắc cho đối tượng sự kiện chrome.declarativeWebRequest.onRequest
.
API yêu cầu web khai báo hỗ trợ một loại tiêu chí so khớp duy nhất là RequestMatcher
. Chiến lược phát hành đĩa đơn
RequestMatcher
khớp với 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. Nội dung sau đây
RequestMatcher
sẽ khớp với yêu cầu mạng khi người dùng nhập https://www.example.com
trong
ominibox:
var matcher = new chrome.declarativeWebRequest.RequestMatcher({
url: { hostSuffix: 'example.com', schemes: ['http'] },
resourceType: ['main_frame']
});
RequestMatcher
sẽ từ chối các yêu cầu gửi đến https://www.example.com
do lược đồ này.
Ngoài ra, tất cả yêu cầu đối với iframe nhúng sẽ bị từ chối do resourceType
.
Để huỷ tất cả các yêu cầu đối với "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()
]
};
Để hủy 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 đủ để kích hoạt tất cả hành động đượ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á các điều kiện và hành động
Khai báo API yêu cầu web tuân theo Mô hình vòng đời cho các yêu cầu web của Web Yêu cầu API. Tức là chỉ có thể kiểm thử các điều kiện ở các giai đoạn cụ thể của một yêu cầu web và tương tự như vậy, các hành động cũng chỉ có thể được thực thi ở các giai đoạn cụ thể. Các bảng sau liệt kê các giai đoạn yêu cầu tương thích với các điều kiện và hành động.
Các giai đoạn yêu cầu trong đó thuộc tính điều kiện có thể được xử lý. | ||||
---|---|---|---|---|
Thuộc tính điều kiện | 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 thi 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 đè quy tắc
Các quy tắc có thể được liên kết với mức độ ưu tiên như mô tả trong API Sự kiện. Cơ chế này có thể
được dùng để thể hiện các ngoại lệ. Ví dụ sau đây chặn tất cả yêu cầu đối với 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]);
Quan trọng là bạn phải nhận ra rằng thao tác IgnoreRules
không được duy trì trên yêu cầu
giai đoạn phát triển. Mọi điều kiện của tất cả quy tắc đều được đánh giá trong mỗi giai đoạn của một yêu cầu web. Nếu một
Hành động IgnoreRules
đã được thực thi, chỉ áp dụng cho các hành động khác được thực thi cho cùng một hành động
yêu cầu web trong cùng một giai đoạn.
Loại
AddRequestCookie
Thêm cookie vào yêu cầu hoặc ghi đè cookie trong trường hợp đã tồn tại một cookie khác có cùng tên. Xin lưu ý rằng bạn nên sử dụng Cookie API hơn vì API này ít tốn kém hơn về mặt tính toán.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
có dạng như sau:(arg: AddRequestCookie) => {...}
-
đối số
-
returns
-
-
bánh quy
Cookie sẽ được thêm vào yêu cầu. Không có trường nào có thể là không xác định.
AddResponseCookie
Thêm cookie vào phản hồi hoặc ghi đè cookie trong trường hợp đã tồn tại một cookie khác có cùng tên. Xin lưu ý rằng bạn nên sử dụng Cookie API hơn vì API này ít tốn kém hơn về mặt tính toán.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
có dạng như sau:(arg: AddResponseCookie) => {...}
-
đối số
-
returns
-
-
bánh quy
Cookie sẽ được thêm vào câu trả lờ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 trước tiên, bạn cần phải xoá rồi thêm một tiêu đề trả lời mới để thay thế một tiêu đề.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
có dạng như sau:(arg: AddResponseHeader) => {...}
-
đối số
-
returns
-
-
tên
string
Tên tiêu đề phản hồi HTTP.
-
value
string
Giá trị tiêu đề phản hồi HTTP.
CancelRequest
Thao tác sự kiện khai báo sẽ huỷ một yêu cầu mạng.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
có dạng như sau:(arg: CancelRequest) => {...}
-
đối số
-
returns
-
EditRequestCookie
Chỉnh sửa một hoặc nhiều cookie yêu cầu. Xin lưu ý rằng bạn nên sử dụng Cookie API hơn vì API này ít tốn kém hơn về mặt tính toán.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
có dạng như sau:(arg: EditRequestCookie) => {...}
-
đối số
-
returns
-
-
filter
Lọc các cookie sẽ được sửa đổi. Tất cả các mục trống đều bị bỏ qua.
-
sửa đổi
Các thuộc tính sẽ bị ghi đè trong cookie đã chuyển 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 phản hồi. Xin lưu ý rằng bạn nên sử dụng Cookie API hơn vì API này ít tốn kém hơn về mặt tính toán.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
có dạng như sau:(arg: EditResponseCookie) => {...}
-
đối số
-
returns
-
-
filter
Lọc các cookie sẽ được sửa đổi. Tất cả các mục trống đều bị bỏ qua.
-
sửa đổi
Các thuộc tính sẽ bị ghi đè trong cookie đã chuyển 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 về cookie trong Phản hồi HTTP.
Thuộc tính
-
ageLowerBound
số không bắt buộc
Giới hạn dưới bao gồm trong thời gian tồn tại của cookie (được chỉ định bằng giây sau thời điểm hiện tại). Chỉ những cookie có ngày hết hạn được đặt thành "now + ageLessBound" hoặc sau đó đá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 từ "max-age" (độ tuổi tối đa) hoặc "hết hạn" các thuộc tính cookie. Nếu bạn chỉ định cả hai thuộc tính, thì thuộc tính "max-age" (độ tuổi tối đa) được dùng để tính toán vòng đời của cookie.
-
ageUpperBound
số không bắt buộc
Giới hạn trên bao gồm trong thời gian tồn tại của cookie (được chỉ định bằng giây sau thời điểm hiện tại). Chỉ những cookie có ngày 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 hết hạn nằm trong quá khứ sẽ 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 từ "max-age" (độ tuổi tối đa) hoặc "hết hạn" các thuộc tính cookie. Nếu bạn chỉ định cả hai thuộc tính, thì thuộc tính "max-age" (độ tuổi tối đa) được dùng để tính toán vòng đờ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 Hết hạn.
-
httpOnly
chuỗi không bắt buộc
Sự tồn tại của thuộc tính cookie HttpOnly.
-
maxAge
số không bắt buộc
Giá trị của thuộc tính cookie Độ tuổi tối đa
-
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 an toàn.
-
cookie phiên
boolean không bắt buộc
Lọc cookie phiên. Cookie phiên không được chỉ định thời gian tồn tại trong bất kỳ "max-age" nào hoặc "hết hạn" .
-
value
chuỗi không bắt buộc
Giá trị của cookie, có thể được thêm vào dấu ngoặc kép.
HeaderFilter
Bộ lọc yêu cầu tiêu đề cho nhiều tiêu chí. Nhiều tiêu chí được đánh giá là một sự kết hợp.
Thuộc tính
-
nameContains
string | string[] không bắt buộc
So 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
So 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
So 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
So khớp nếu tên tiêu đề kết thúc bằng chuỗi được chỉ định.
-
valueContains
string | string[] không bắt buộc
So 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 được chỉ định.
IgnoreRules
Ẩn tất cả quy tắc phù hợp với tiêu chí được chỉ định.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
có dạng như sau:(arg: IgnoreRules) => {...}
-
đối số
-
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. Việc bỏ qua này sẽ không được duy trì, nó chỉ ảnh hưởng đến các quy tắc và hành động của các quy tắc đó trong cùng một giai đoạn yêu cầu mạng. Lưu ý rằng các quy tắc được thực thi theo thứ tự ưu tiên giảm dầ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ị hoặc không thể bỏ qua.
-
lowerPriorityThan
số 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ì, nó chỉ ảnh hưởng đến các quy tắc và hành động của các quy tắc đó trong cùng một giai đoạn yêu cầu mạng.
RedirectByRegEx
Chuyển hướng yêu cầu bằng cách áp dụng biểu thức chính quy trên URL. 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
constructor
có dạng như sau:(arg: RedirectByRegEx) => {...}
-
đối số
-
returns
-
-
từ
string
Mẫu khớp có thể chứa nhóm thu thập. Các nhóm thu thập được tham chiếu trong cú pháp Perl ($1, $2, ...) thay vì cú pháp RE2 (\1, \2, ...) để gần hơn với Biểu thức chính quy JavaScript.
-
tới
string
Mẫu đích đến.
RedirectRequest
Thao tác 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
constructor
có dạng như sau:(arg: RedirectRequest) => {...}
-
đối số
-
returns
-
-
redirectUrl
string
Đích đến nơi yêu cầu được chuyển hướng.
RedirectToEmptyDocument
Thao tác sự kiện khai báo sẽ 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
constructor
có dạng như sau:(arg: RedirectToEmptyDocument) => {...}
-
đối số
-
returns
-
RedirectToTransparentImage
Thao tác sự kiện khai báo sẽ 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
constructor
có dạng như sau:(arg: RedirectToTransparentImage) => {...}
-
đối số
-
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 Cookie API hơn vì API này ít tốn kém hơn về mặt tính toán.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
có dạng như sau:(arg: RemoveRequestCookie) => {...}
-
đối số
-
returns
-
-
filter
Lọc các cookie sẽ bị xoá. Tất cả các mục trống đều bị bỏ qua.
RemoveRequestHeader
Xoá tiêu đề yêu cầu của tên đã chỉ định. Không sử dụng SetRequestHeader và RemoveRequestHeader có cùng 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
constructor
có dạng như sau:(arg: RemoveRequestHeader) => {...}
-
đối số
-
returns
-
-
tên
string
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 phản hồi. Xin lưu ý rằng bạn nên sử dụng Cookie API hơn vì API này ít tốn kém hơn về mặt tính toán.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
có dạng như sau:(arg: RemoveResponseCookie) => {...}
-
đối số
-
returns
-
-
filter
Lọc các cookie sẽ bị xoá. Tất cả các mục trống đều bị bỏ qua.
RemoveResponseHeader
Xoá tất cả tiêu đề phản hồi của tên và giá trị đã chỉ định.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
có dạng như sau:(arg: RemoveResponseHeader) => {...}
-
đối số
-
returns
-
-
tên
string
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 thông số kỹ thuật 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 thêm vào 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
constructor
có dạng như sau:(arg: RequestMatcher) => {...}
-
đối số
-
returns
-
-
contentType
string[] không bắt buộc
So khớp xem loại phương tiện MIME của phản hồi (từ tiêu đề Loại nội dung HTTP) có được chứa trong danh sách hay không.
-
excludeContentType
string[] không bắt buộc
So khớp nếu loại phương tiện MIME của một phản hồi (từ tiêu đề HTTP Content-Type) không có trong danh sách.
-
excludeRequestHeaders
HeaderFilter[] không bắt buộc
So khớp nếu không có tiêu đề yêu cầu nào khớp với bất kỳ HeaderFilters nào.
-
excludeResponseHeaders
HeaderFilter[] không bắt buộc
So khớp nếu không có tiêu đề phản hồi nào khớp với bất kỳ HeaderFilters nào.
-
firstPartyForCookiesUrl
UrlFilter không bắt buộc
Không dùng nữaBị bỏ qua kể từ bản phát hành 82.
So khớp nếu các điều kiện của UrlFilter được đáp ứng cho 'bên thứ nhất' URL của yêu cầu. "Bên thứ nhất" URL 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ả phần được coi là "bên thứ nhất" nhằm mục đích kiểm tra cookie của bên thứ ba.
-
requestHeaders
HeaderFilter[] không bắt buộc
So khớp xem một số tiêu đề yêu cầu có khớp với một trong các HeaderFilters hay không.
-
resourceType
ResourceType[] không bắt buộc
So 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 thể khớp với bất kỳ loại nào sẽ bị lọc ra.
-
responseHeaders
HeaderFilter[] không bắt buộc
So khớp xem một số tiêu đề phản hồi có khớp với một trong các HeaderFilters hay không.
-
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 có thuộc tính này thì sẽ giới hạn các giai đoạn áp dụng thành 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ừ bản phát hành 87.
Nếu bạn đặt chính sách này thành true, thì hệ thống sẽ so khớp các yêu cầu tuân theo chính sách cookie của bên thứ ba. Nếu bạn đặt thành false, hệ thống sẽ so khớp tất cả các yêu cầu khác.
-
url
UrlFilter không bắt buộc
So 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
Thông số kỹ thuật về 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 Hết hạn.
-
httpOnly
chuỗi không bắt buộc
Sự tồn tại của thuộc tính cookie HttpOnly.
-
maxAge
số không bắt buộc
Giá trị của thuộc tính cookie Độ tuổi tối đa
-
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 an toàn.
-
value
chuỗi không bắt buộc
Giá trị của cookie, có thể được thêm vào 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
constructor
có dạng như sau:(arg: SendMessageToExtension) => {...}
-
đối số
-
returns
-
-
tin nhắn
string
Giá trị sẽ được chuyển vào thuộc tính
message
của từ điển sẽ được chuyển đến trình xử lý sự kiện.
SetRequestHeader
Đặt tiêu đề yêu cầu của tên đã chỉ định thành giá trị được chỉ định. Nếu một tiêu đề có tên được chỉ định không tồn tại trước đó, thì tiêu đề mới sẽ được tạo. 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
constructor
có dạng như sau:(arg: SetRequestHeader) => {...}
-
đối số
-
returns
-
-
tên
string
Tên tiêu đề của yêu cầu HTTP.
-
value
string
Giá trị tiêu đề của yêu cầu HTTP.
Stage
Enum
"onBeforeRequest"
"onBeforeSendHeaders"
"onHeadersReceived"
"onAuthRequested"
Sự kiện
onMessage
chrome.declarativeWebRequest.onMessage.addListener(
callback: function,
)
Được kích hoạt khi thông báo được gửi qua declarativeWebRequest.SendMessageToExtension
từ một hành động của API yêu cầu web khai báo.
Tham số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(details: object) => void
-
chi tiết
đối tượng
-
documentId
chuỗi không bắt buộc
Mã nhận dạng duy nhất (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 diễn ra trong khung chính; giá trị dương cho biết mã của khung phụ có yêu cầu. Nếu tài liệu của một khung (phụ) được tải (
type
làmain_frame
hoặcsub_frame
),frameId
sẽ cho biết mã nhận dạng của khung này, chứ không phải mã của khung bên ngoài. Mã khung là duy nhất trong một thẻ. -
frameType
Loại khung có thao tác điều hướng.
-
tin nhắn
string
Tin nhắn do tập lệnh gọi gửi.
-
method
string
Phương thức HTTP chuẩn.
-
parentDocumentId
chuỗi không bắt buộc
Mã nhận dạng duy nhất (UUID) của tài liệu gốc sở hữu khung này. Giá trị này không được thiết lập nếu không có cha 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 gốc.
-
requestId
string
Mã 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 đó, chúng có thể được dùng để liên quan đến 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 khi sự kiện được kích hoạt.
-
tabId
số
Mã của thẻ diễn ra yêu cầu. Đặt thành -1 nếu yêu cầu không liên quan đến một thẻ.
-
timeStamp
số
Thời gian khi tín hiệu này được kích hoạt, tính bằng mili giây kể từ thời gian bắt đầu của hệ thống.
-
Cách sử dụng tài nguyên được yêu cầu.
-
url
string
-
-
onRequest
Cung cấp API Sự kiện khai báo bao gồm addRules
, removeRules
và getRules
.
Điều kiện
Thao tác