Nội dung mô tả
Lưu ý: API này không còn được dùng nữa. Thay vào đó, hãy xem API declarativeNetRequest
. Sử 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 quyền "declarativeWebRequest" trong tệp kê khai tiện ích để sử dụng API này 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 mang tính 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ủ lưu trữ có yêu cầu mạng mà bạn muốn kích hoạt thông báo.
Tất cả các thao tác khác đều 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 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 gửi đến
https://www.google.com
hoặchttps://anything.else.com
. - Gửi tin nhắn khi điều hướng đến
https://www.google.com
chứ không phảihttps://something.else.com
.
Tiện ích này 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 (API Yêu cầu khai báo). Bạn có thể đăng ký các quy tắc cho đối tượng sự kiện chrome.declarativeWebRequest.onRequest
.
Khai báo API yêu cầu web hỗ trợ một loại tiêu chí so khớp duy nhất là RequestMatcher
. RequestMatcher
khớp với các yêu cầu mạng khi và chỉ khi tất cả tiêu chí đã liệt kê đượ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 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 tới https://www.example.com
do lược đồ này.
Ngoài ra, tất cả các yêu cầu cho iframe nhúng đều sẽ bị từ chối do resourceType
.
Để huỷ tất cả yêu cầu đến "example.com", bạn có thể xác định 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ả yêu cầu đến example.com
và foobar.com
, bạn có thể thêm điều kiện thứ hai, vì mỗi điều kiện là đủ để 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á các điều kiện và hành động
API yêu cầu web khai báo tuân theo Mô hình vòng đời cho các yêu cầu web của API yêu cầu web. Điều này có nghĩa là bạn 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ự, 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 đâ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 của yêu cầu có thể xử lý thuộc tính điều kiện. | ||||
---|---|---|---|---|
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 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 đè 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 để biểu thị các trường hợp ngoại lệ. Ví dụ sau chặn tất cả các yêu cầu đến 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 hành động IgnoreRules
không được duy trì trong các giai đoạn yêu cầu. Tất cả các điều kiện của tất cả các quy tắc được đánh giá ở từng giai đoạn của yêu cầu 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 ở 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 đã có một cookie khác có cùng tên. Lưu ý: API này sẽ ưu tiên sử dụng cookie hơn vì việc tính toán này ít tốn kém hơn.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
sẽ có dạng như sau:(arg: AddRequestCookie) => {...}
-
đối số
-
giá trị trả về
-
-
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 đã có một cookie khác có cùng tên. Lưu ý: API này sẽ ưu tiên sử dụng cookie hơn vì việc tính toán này ít tốn kém hơn.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
sẽ có dạng như sau:(arg: AddResponseCookie) => {...}
-
đối số
-
giá trị trả về
-
-
bánh quy
Cookie được thêm vào phản hồi. Tên và giá trị cần được chỉ định.
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 xoá, rồi thêm tiêu đề phản hồi mới để thay thế tiêu đề đã phản hồi.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
sẽ có dạng như sau:(arg: AddResponseHeader) => {...}
-
đối số
-
giá trị trả về
-
-
tên
string
Tên tiêu đề phản hồi HTTP.
-
value
string
Giá trị tiêu đề phản hồi HTTP.
CancelRequest
Hành động sự kiện khai báo huỷ một yêu cầu mạng.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
sẽ có dạng như sau:(arg: CancelRequest) => {...}
-
đối số
-
giá trị trả về
-
EditRequestCookie
Chỉnh sửa một hoặc nhiều cookie của yêu cầu. Lưu ý: API này sẽ ưu tiên sử dụng cookie hơn vì việc tính toán này ít tốn kém hơn.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
sẽ có dạng như sau:(arg: EditRequestCookie) => {...}
-
đối số
-
giá trị trả về
-
-
filter
Lọc tìm các cookie sẽ được sửa đổi. Tất cả các mục nhập trống sẽ bị bỏ qua.
-
sửa đổi
Các thuộc tính sẽ bị ghi đè trong cookie đã điều chỉnh bộ lọc. Các thuộc tính được đặt thành 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. Lưu ý: API này sẽ ưu tiên sử dụng cookie hơn vì việc tính toán này ít tốn kém hơn.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
sẽ có dạng như sau:(arg: EditResponseCookie) => {...}
-
đối số
-
giá trị trả về
-
-
filter
Lọc tìm các cookie sẽ được sửa đổi. Tất cả các mục nhập trống sẽ bị bỏ qua.
-
sửa đổi
Các thuộc tính sẽ bị ghi đè trong cookie đã điều chỉnh bộ lọc. Các thuộc tính được đặt thành chuỗi trống sẽ bị xoá.
FilterResponseCookie
Bộ lọc 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 gian hiện tại). Chỉ những cookie có ngày hết hạn được đặt thành 'bây giờ + ageBottomBound' hoặc sau đó mới đáp ứng được 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ừ các thuộc tính cookie "max-age" (độ tuổi tối đa) hoặc "Expiration" (hết hạn). 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
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 gian hiện tại). Chỉ những cookie có ngày hết hạn nằm trong khoảng thời gian [hiện tại + ageUpperBound] mới đáp ứng tiêu chí này. Cookie phiên và cookie có ngày hết hạn đã qua 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ừ các thuộc tính cookie "max-age" (độ tuổi tối đa) hoặc "Expiration" (hết hạn). 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 Hết hạn.
-
httpOnly
chuỗi không bắt buộc
Có thuộc tính cookie HttpOnly.
-
maxAge
số không bắt buộc
Giá trị của thuộc tính cookie Tối đa độ tuổi
-
tên
chuỗi không bắt buộc
Tên của một cookie.
-
path
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
Có thuộc tính cookie Secure.
-
sessionCookie
boolean không bắt buộc
Lọc cookie phiên. Cookie phiên không có thời gian hoạt động được chỉ định trong bất kỳ thuộc tính "max-age" (độ tuổi tối đa) nào hoặc "expiry" (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 trong dấu ngoặc kép.
HeaderFilter
Lọc tiêu đề yêu cầu cho nhiều tiêu chí. Nhiều tiêu chí được đánh giá là một liên kết.
Thuộc tính
-
nameContains
chuỗi | chuỗi[] không bắt buộc
Sẽ khớp xem tên tiêu đề có chứa tất cả các chuỗi được chỉ định hay không.
-
nameEquals
chuỗi không bắt buộc
Sẽ khớp xem tên tiêu đề có bằng với chuỗi được chỉ định hay không.
-
namePrefix
chuỗi không bắt buộc
So khớp xem tên tiêu đề có bắt đầu bằng chuỗi đã chỉ định hay không.
-
nameSuffix
chuỗi không bắt buộc
So khớp xem tên tiêu đề có kết thúc bằng chuỗi đã chỉ định hay không.
-
valueContains
chuỗi | chuỗi[] không bắt buộc
Sẽ khớp xem giá trị tiêu đề có chứa tất cả các chuỗi được chỉ định hay không.
-
valueEquals
chuỗi không bắt buộc
Sẽ khớp xem giá trị tiêu đề có bằng với chuỗi được chỉ định hay không.
-
valuePrefix
chuỗi không bắt buộc
So khớp xem giá trị tiêu đề có bắt đầu bằng chuỗi được chỉ định hay không.
-
valueSuffix
chuỗi không bắt buộc
So khớp xem giá trị tiêu đề có kết thúc bằng chuỗi được chỉ định hay không.
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
constructor
sẽ có dạng như sau:(arg: IgnoreRules) => {...}
-
đối số
-
giá trị trả về
-
-
hasTag
chuỗi không bắt buộc
Nếu bạn đặt chính sách này, các quy tắc có thẻ được chỉ định sẽ bị bỏ qua. Việ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 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 bạn đặt chính sách này, thì 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òn tồn tại mà 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 một yêu cầu bằng cách áp dụng một 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
sẽ có dạng như sau:(arg: RedirectByRegEx) => {...}
-
đối số
-
giá trị trả về
-
-
từ
string
Mẫu khớp có thể chứa nhóm thu thập. Nhóm thu thập được tham chiếu theo 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
string
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
constructor
sẽ có dạng như sau:(arg: RedirectRequest) => {...}
-
đối số
-
giá trị trả về
-
-
redirectUrl
string
Đí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
constructor
sẽ có dạng như sau:(arg: RedirectToEmptyDocument) => {...}
-
đối số
-
giá trị trả về
-
RedirectToTransparentImage
Hành động sự kiện khai báo chuyển hướng 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
sẽ có dạng như sau:(arg: RedirectToTransparentImage) => {...}
-
đối số
-
giá trị trả về
-
RemoveRequestCookie
Xoá một hoặc nhiều cookie yêu cầu. Lưu ý: API này sẽ ưu tiên sử dụng cookie hơn vì việc tính toán này ít tốn kém hơn.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
sẽ có dạng như sau:(arg: RemoveRequestCookie) => {...}
-
đối số
-
giá trị trả về
-
-
filter
Lọc tìm cookie sẽ bị xoá. Tất cả các mục nhập trống sẽ 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ỉ xảy ra 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
sẽ có dạng như sau:(arg: RemoveRequestHeader) => {...}
-
đối số
-
giá trị trả về
-
-
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. Lưu ý: API này sẽ ưu tiên sử dụng cookie hơn vì việc tính toán này ít tốn kém hơn.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
sẽ có dạng như sau:(arg: RemoveResponseCookie) => {...}
-
đối số
-
giá trị trả về
-
-
filter
Lọc tìm cookie sẽ bị xoá. Tất cả các mục nhập trống sẽ 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
sẽ có dạng như sau:(arg: RemoveResponseHeader) => {...}
-
đối số
-
giá trị trả về
-
-
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 đề 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ố 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 trong dấu ngoặc kép.
RequestMatcher
So khớp các sự kiện mạng theo nhiều tiêu chí khác nhau.
Thuộc tính
-
hàm khởi tạo
void
Hàm
constructor
sẽ có dạng như sau:(arg: RequestMatcher) => {...}
-
đối số
-
giá trị trả về
-
-
contentType
string[] không bắt buộc
So khớp xem loại nội dung đa phương tiện MIME của phản hồi (từ tiêu đề Loại nội dung HTTP) có trong danh sách hay không.
-
excludeContentType
string[] không bắt buộc
So khớp xem loại nội dung đa phương tiện MIME của phản hồi (từ tiêu đề Loại nội dung HTTP) không có trong danh sách.
-
excludeRequestHeaders
HeaderFilter[] không bắt buộc
So khớp xem không có tiêu đề yêu cầu nào phù hợ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 xem các điều kiện của UrlFilter có được đáp ứng cho URL "bên thứ nhất" của yêu cầu hay không. URL "bên thứ nhất" của yêu cầu (nếu có) có thể khác với URL đích của yêu cầu và mô tả URL "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
So khớp xem một số tiêu đề của yêu cầu có khớp với một trong các HeaderFilters không.
-
resourceType
ResourceType[] không bắt buộc
So khớp xem liệu loại yêu cầu của yêu cầu có nằm trong danh sách hay không. Các yêu cầu không khớp với bất kỳ loại nào trong số các loại này 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 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ả 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ì các giai đoạn áp dụng sẽ chỉ bao gồm các giai đoạn trong danh sách. Xin lưu ý rằng toàn bộ điều kiện chỉ có thể áp dụng ở các giai đoạn tương thích với tất cả cá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 thủ chính sách cookie của bên thứ ba. Nếu bạn đặt thành false (sai), thì hãy so khớp tất cả yêu cầu khác.
-
url
UrlFilter không bắt buộc
So khớp xem các điều kiện của UrlFilter có được đáp ứng cho URL của yêu cầu hay không.
ResponseCookie
Thông số kỹ thuật 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 Hết hạn.
-
httpOnly
chuỗi không bắt buộc
Có thuộc tính cookie HttpOnly.
-
maxAge
số không bắt buộc
Giá trị của thuộc tính cookie Tối đa độ tuổi
-
tên
chuỗi không bắt buộc
Tên của một cookie.
-
path
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
Có thuộc tính cookie Secure.
-
value
chuỗi không bắt buộc
Giá trị của cookie có thể được thêm vào 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
constructor
sẽ có dạng như sau:(arg: SendMessageToExtension) => {...}
-
đối số
-
giá trị trả về
-
-
tin nhắn
string
Giá trị sẽ được chuyển vào thuộc tính
message
của từ điển đượ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 tiêu đề có tên đã chỉ định trước đó chưa từng tồn tại, 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ỉ xảy ra 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
sẽ có dạng như sau:(arg: SetRequestHeader) => {...}
-
đối số
-
giá trị trả về
-
-
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
Liệt kê
"onBeforeRequest"
"onBeforeSendHeaders"
"onHeadersReceived"
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 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
number
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ã của khung phụ nơi yêu cầu xảy ra. 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ã 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 mà điều hướng diễn ra.
-
tin nhắn
string
Tin nhắn do kịch bản gọi điện gửi.
-
method
string
Phương thức HTTP tiêu 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 mẹ sở hữu khung này. Tuỳ chọn này không được đặt nếu không có cha mẹ.
-
parentFrameId
number
Mã của khung bao bọc khung đã gửi yêu cầu. Đặt thành -1 nếu không có khung mẹ nào.
-
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 đó, bạn có thể dùng chúng để liên kết nhiều sự kiện 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
number
Mã của thẻ nơi yêu cầu diễn ra. Đặt thành -1 nếu yêu cầu không liên quan đến một thẻ.
-
timeStamp
number
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 tài nguyên được yêu cầu sẽ được sử dụng.
-
url
string
-
-
onRequest
Cung cấp Declarative Event API (API Sự kiện khai báo) bao gồm addRules
, removeRules
và getRules
.
Điều kiện
Thao tác