chrome.devtools.network

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

Bạn phải khai báo các khoá sau trong tệp kê khai để sử dụng API này.

"devtools_page"

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

    Promise

    Trả về nội dung của phần nội dung phản hồi.

    Hàm getContent có dạng như sau:

    (callback?: function) => {...}

    • callback

      hàm không bắt buộc

      Tham số callback có 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()

Promise
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ố callback có 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ố

  • callback

    hàm

    Tham số callback có dạng như sau:

    (url: string) => void

    • url

      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.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (request: Request) => void