Mô tả
Sử dụng API chrome.devtools.network để truy xuất thông tin về các yêu cầu mạng mà Công cụ cho nhà phát triển hiển thị trong bảng điều khiển Mạng.
Tệp kê khai
Hãy xem Tóm tắt về các API của Công cụ cho nhà phát triển để biết thông tin giới thiệu chung về cách sử dụng các API của Công cụ cho nhà phát triển.
Tổng quan
Thông tin về yêu cầu mạng được trình bày ở định dạng Lưu trữ HTTP (HAR). Phần mô tả về HAR nằm ngoài phạm vi của tài liệu này, vui lòng tham khảo Quy cách HAR phiên bản 1.2.
Về HAR, phương thức chrome.devtools.network.getHAR() sẽ trả về toàn bộ nhật ký HAR, trong khi sự kiện chrome.devtools.network.onRequestFinished cung cấp mục HAR làm đối số cho lệnh gọi lại sự kiện.
Xin lưu ý rằng nội dung yêu cầu không được cung cấp trong tệp HAR vì lý do hiệu quả. Bạn có thể gọi phương thức getContent() của yêu cầu để truy xuất nội dung.
Nếu cửa sổ Công cụ cho nhà phát triển được mở sau khi trang được tải, một số yêu cầu có thể bị thiếu trong mảng các mục do getHAR() trả về. Tải lại trang để nhận tất cả yêu cầu. Nói chung, danh sách yêu cầu do getHAR() trả về phải khớp với danh sách được hiển thị trong bảng điều khiển Mạng.
Ví dụ
Đoạn mã sau đây ghi lại URL của tất cả hình ảnh có kích thước lớn hơn 40 KB khi chúng được tải:
chrome.devtools.network.onRequestFinished.addListener(
function(request) {
if (request.response.bodySize > 40*1024) {
chrome.devtools.inspectedWindow.eval(
'console.log("Large image: " + unescape("' +
escape(request.request.url) + '"))');
}
}
);
Để dùng thử API này, hãy cài đặt các ví dụ về API devtools từ kho lưu trữ chrome-extension-samples.
Loại
Request
Biểu thị một yêu cầu mạng cho tài nguyên tài liệu (tập lệnh, hình ảnh, v.v.). Hãy xem Quy cách HAR để tham khảo.
Thuộc tính
-
getContent
void
PromiseTrả về nội dung của phần nội dung phản hồi.
Hàm
getContentcó dạng như sau:(callback?: function) => {...}
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(response: object) => void
-
phản hồi
đối tượng
Đang chờ xử lýMột đối tượng chứa nội dung phản hồi và phương thức mã hoá của đối tượng đó.
-
nội dung
chuỗi
Nội dung của phần nội dung phản hồi (có thể được mã hoá).
-
mã hoá
chuỗi
Để trống nếu nội dung không được mã hoá, nếu không thì là tên mã hoá. Hiện tại, chỉ base64 được hỗ trợ.
-
-
-
returns
Promise<object>
Đang chờ xử lýMột hàm nhận nội dung phản hồi khi yêu cầu hoàn tất.
Các promise chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
-
Phương thức
getHAR()
chrome.devtools.network.getHAR(
callback?: function,
): Promise<object>
Trả về nhật ký HAR chứa tất cả các yêu cầu mạng đã biết.
Thông số
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(harLog: object) => void
-
harLog
đối tượng
Nhật ký HAR. Hãy xem quy cách HAR để biết thông tin chi tiết.
-
Giá trị trả về
-
Promise<object>
Đang chờ xử lýMột hàm nhận nhật ký HAR khi yêu cầu hoàn tất.
Các promise chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
Sự kiện
onNavigated
chrome.devtools.network.onNavigated.addListener(
callback: function,
)
Được kích hoạt khi cửa sổ được kiểm tra chuyển đến một trang mới.
Thông số
-
hàm
Tham số
callbackcó dạng như sau:(url: string) => void
-
chuỗi
-
onRequestFinished
chrome.devtools.network.onRequestFinished.addListener(
callback: function,
)
Được kích hoạt khi một yêu cầu mạng hoàn tất và có sẵn tất cả dữ liệu yêu cầu.