chrome.devtools.panels

Mô tả

Sử dụng API chrome.devtools.panels để tích hợp tiện ích vào giao diện người dùng của cửa sổ Công cụ cho nhà phát triển: tạo bảng điều khiển của riêng bạn, truy cập vào bảng điều khiển hiện có và thêm thanh bên.

Mỗi bảng điều khiển và thanh bên của tiện ích được hiển thị dưới dạng một trang HTML riêng biệt. Tất cả trang tiện ích xuất hiện trong cửa sổ Công cụ cho nhà phát triển đều có quyền truy cập vào mọi phần của API chrome.devtools, cũng như tất cả API tiện ích khác.

Bạn có thể sử dụng phương thức devtools.panels.setOpenResourceHandler để cài đặt một hàm callback xử lý yêu cầu của người dùng về việc mở tài nguyên (thường là nhấp vào đường liên kết đến tài nguyên trong cửa sổ Công cụ cho nhà phát triển). Tối đa một trong các trình xử lý đã cài đặt được gọi; người dùng có thể chỉ định (bằng cách sử dụng hộp thoại Cài đặt công cụ cho nhà phát triển) hành vi mặc định hoặc một tiện ích để xử lý các yêu cầu mở tài nguyên. Nếu một tiện ích gọi setOpenResourceHandler() nhiều lần, thì chỉ trình xử lý cuối cùng được giữ lại.

Hãy xem phần Tóm tắt về API 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 API Công cụ cho nhà phát triển.

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"

Ví dụ

Mã sau đây thêm một bảng điều khiển có trong Panel.html, được biểu thị bằng FontPicker.png trên thanh công cụ Công cụ cho nhà phát triển và được gắn nhãn là Font Picker (Bộ chọn phông chữ):

chrome.devtools.panels.create("Font Picker",
                              "FontPicker.png",
                              "Panel.html",
                              function(panel) { ... });

Mã sau đây thêm một ngăn thanh bên có trong Sidebar.html và có tiêu đề Thuộc tính phông chữ vào bảng điều khiển Elements, sau đó đặt chiều cao của ngăn này thành 8ex:

chrome.devtools.panels.elements.createSidebarPane("Font Properties",
  function(sidebar) {
    sidebar.setPage("Sidebar.html");
    sidebar.setHeight("8ex");
  }
);

Ảnh chụp màn hình minh hoạ hiệu ứng mà ví dụ này sẽ có trên cửa sổ Công cụ cho nhà phát triển:

Bảng biểu tượng tiện ích trên thanh công cụ Công cụ cho nhà phát triển
Bảng điều khiển biểu tượng tiện ích trên thanh công cụ của Công cụ cho nhà phát triển.

Để dùng thử API này, hãy cài đặt ví dụ về API bảng điều khiển công cụ cho nhà phát triển từ kho lưu trữ chrome-extension-samples.

Loại

Button

Nút do tiện ích tạo.

Thuộc tính

  • onClicked

    Event<functionvoidvoid>

    Được kích hoạt khi người dùng nhấp vào nút.

    Hàm onClicked.addListener có dạng như sau:

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

    • callback

      hàm

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

      () => void

  • cập nhật

    void

    Cập nhật các thuộc tính của nút. Nếu một số đối số bị bỏ qua hoặc có giá trị là null, thì các thuộc tính tương ứng sẽ không được cập nhật.

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

    (iconPath?: string, tooltipText?: string, disabled?: boolean) => {...}

    • iconPath

      chuỗi không bắt buộc

      Đường dẫn đến biểu tượng mới của nút.

    • tooltipText

      chuỗi không bắt buộc

      Văn bản xuất hiện dưới dạng chú giải công cụ khi người dùng di chuột qua nút.

    • đã vô hiệu

      boolean không bắt buộc

      Nút có bị tắt hay không.

ElementsPanel

Đại diện cho bảng điều khiển Elements (Phần tử).

Thuộc tính

  • onSelectionChanged

    Event<functionvoidvoid>

    Được kích hoạt khi một đối tượng được chọn trong bảng điều khiển.

    Hàm onSelectionChanged.addListener có dạng như sau:

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

    • callback

      hàm

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

      () => void

  • createSidebarPane

    void

    Tạo một ngăn trong thanh bên của bảng điều khiển.

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

    (title: string) => {...}

    • tiêu đề

      chuỗi

      Văn bản xuất hiện trong chú thích của thanh bên.

    • returns
      Chrome 152 trở lên

      Lệnh gọi lại được gọi khi thanh bên được tạo.

ExtensionPanel

Biểu thị một bảng điều khiển do tiện ích tạo.

Thuộc tính

  • onHidden

    Event<functionvoidvoid>

    Được kích hoạt khi người dùng chuyển khỏi bảng điều khiển.

    Hàm onHidden.addListener có dạng như sau:

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

    • callback

      hàm

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

      () => void

  • onSearch

    Event<functionvoidvoid>

    Được kích hoạt khi có một hành động tìm kiếm (bắt đầu một lượt tìm kiếm mới, thao tác trên kết quả tìm kiếm hoặc huỷ lượt tìm kiếm).

    Hàm onSearch.addListener có dạng như sau:

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

    • callback

      hàm

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

      (action: string, queryString?: string) => void

      • hành động

        chuỗi

      • queryString

        chuỗi không bắt buộc

  • onShown

    Event<functionvoidvoid>

    Được kích hoạt khi người dùng chuyển sang bảng điều khiển.

    Hàm onShown.addListener có dạng như sau:

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

    • callback

      hàm

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

      (window: Window) => void

      • cửa sổ

        Cửa sổ

  • createStatusBarButton

    void

    Thêm một nút vào thanh trạng thái của bảng điều khiển.

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

    (iconPath: string, tooltipText: string, disabled: boolean) => {...}

    • iconPath

      chuỗi

      Đường dẫn đến biểu tượng của nút. Tệp này phải chứa một hình ảnh 64x24 pixel bao gồm hai biểu tượng 32x24. Biểu tượng bên trái được dùng khi nút không hoạt động; biểu tượng bên phải xuất hiện khi nút được nhấn.

    • tooltipText

      chuỗi

      Văn bản xuất hiện dưới dạng chú giải công cụ khi người dùng di chuột qua nút.

    • đã vô hiệu

      boolean

      Nút có bị tắt hay không.

  • hiện (lên)/cho thấy

    void

    Chrome 140 trở lên browser.* kể từ Chrome 152

    Hiện bảng điều khiển bằng cách kích hoạt thẻ tương ứng.

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

    () => {...}

ExtensionSidebarPane

Thanh bên do tiện ích tạo.

Thuộc tính

  • onHidden

    Event<functionvoidvoid>

    Được kích hoạt khi ngăn thanh bên bị ẩn do người dùng chuyển khỏi bảng điều khiển lưu trữ ngăn thanh bên.

    Hàm onHidden.addListener có dạng như sau:

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

    • callback

      hàm

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

      () => void

  • onShown

    Event<functionvoidvoid>

    Được kích hoạt khi ngăn thanh bên xuất hiện do người dùng chuyển sang bảng điều khiển lưu trữ ngăn đó.

    Hàm onShown.addListener có dạng như sau:

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

    • callback

      hàm

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

      (window: Window) => void

      • cửa sổ

        Cửa sổ

  • setExpression

    void

    Đặt một biểu thức được đánh giá trong trang được kiểm tra. Kết quả sẽ xuất hiện trong ngăn thanh bên.

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

    (expression: string, rootTitle?: string) => {...}

    • biểu thức

      chuỗi

      Một biểu thức cần được đánh giá trong bối cảnh của trang được kiểm tra. Các đối tượng JavaScript và nút DOM được hiển thị trong một cây có thể mở rộng tương tự như bảng điều khiển/đồng hồ.

    • rootTitle

      chuỗi không bắt buộc

      Tiêu đề không bắt buộc cho gốc của cây biểu thức.

    • returns

      Promise<void>

      Chrome 152 trở lên

      Lệnh gọi lại được gọi sau khi ngăn thanh bên được cập nhật bằng kết quả đánh giá biểu thức.

  • setHeight

    void

    Đặt chiều cao của thanh bên.

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

    (height: string) => {...}

    • chiều cao

      chuỗi

      Quy cách kích thước giống như CSS, chẳng hạn như '100px' hoặc '12ex'.

  • setObject

    void

    Đặt một đối tượng tuân thủ JSON để hiển thị trong ngăn thanh bên.

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

    (jsonObject: string, rootTitle?: string) => {...}

    • jsonObject

      chuỗi

      Một đối tượng sẽ xuất hiện trong bối cảnh của trang được kiểm tra. Được đánh giá trong bối cảnh của phương thức gọi (ứng dụng API).

    • rootTitle

      chuỗi không bắt buộc

      Tiêu đề không bắt buộc cho gốc của cây biểu thức.

    • returns

      Promise<void>

      Chrome 152 trở lên

      Lệnh gọi lại được gọi sau khi thanh bên được cập nhật bằng đối tượng.

  • setPage

    void

    Đặt một trang HTML để hiển thị trong ngăn thanh bên.

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

    (path: string) => {...}

    • đường dẫn

      chuỗi

      Đường dẫn tương đối của một trang tiện ích để hiển thị trong thanh bên.

SourcesPanel

Đại diện cho bảng điều khiển Nguồn.

Thuộc tính

  • onSelectionChanged

    Event<functionvoidvoid>

    Được kích hoạt khi một đối tượng được chọn trong bảng điều khiển.

    Hàm onSelectionChanged.addListener có dạng như sau:

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

    • callback

      hàm

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

      () => void

  • createSidebarPane

    void

    Tạo một ngăn trong thanh bên của bảng điều khiển.

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

    (title: string) => {...}

    • tiêu đề

      chuỗi

      Văn bản xuất hiện trong chú thích của thanh bên.

    • returns
      Chrome 152 trở lên

      Lệnh gọi lại được gọi khi thanh bên được tạo.

Theme

Chrome 99 trở lên trình duyệt.* kể từ Chrome 152

Giao diện mà Công cụ cho nhà phát triển sử dụng.

Enum

"default"
Giao diện mặc định của Công cụ cho nhà phát triển. Đây luôn là giao diện sáng.

"dark"
Giao diện tối.

Thuộc tính

elements

Bảng điều khiển Phần tử.

Loại

sources

Bảng điều khiển nguồn.

Loại

themeName

Chrome 59 trở lên trình duyệt.* kể từ Chrome 152

Tên của chủ đề màu sắc được đặt trong phần cài đặt Công cụ cho nhà phát triển của người dùng. Các giá trị có thể sử dụng: default (mặc định) và dark.

Loại

chuỗi

Phương thức

create()

browser.devtools.panels.create(
  title: string,
  iconPath: string,
  pagePath: string,
)
: Promise<ExtensionPanel>

Tạo bảng điều khiển tiện ích.

Thông số

  • tiêu đề

    chuỗi

    Tiêu đề xuất hiện bên cạnh biểu tượng tiện ích trong thanh công cụ Công cụ cho nhà phát triển.

  • iconPath

    chuỗi

    Đường dẫn của biểu tượng bảng điều khiển tương ứng với thư mục tiện ích.

  • pagePath

    chuỗi

    Đường dẫn của trang HTML của bảng điều khiển tương ứng với thư mục tiện ích.

Giá trị trả về

  • Chrome 152 trở lên

    Một hàm được gọi khi bảng điều khiển được tạo.

openResource()

browser.devtools.panels.openResource(
  url: string,
  lineNumber: number,
  columnNumber?: number,
)
: Promise<void>

Yêu cầu Công cụ cho nhà phát triển mở một URL trong bảng điều khiển Công cụ cho nhà phát triển.

Thông số

  • url

    chuỗi

    URL của tài nguyên cần mở.

  • lineNumber

    số

    Chỉ định số dòng cần di chuyển đến khi tài nguyên được tải.

  • columnNumber

    number không bắt buộc

    Chrome 114 trở lên browser.* kể từ Chrome 152

    Chỉ định số cột cần di chuyển đến khi tài nguyên được tải.

Giá trị trả về

  • Promise<void>

    Chrome 152 trở lên

    Một hàm được gọi khi tài nguyên đã được tải thành công.

setOpenResourceHandler()

browser.devtools.panels.setOpenResourceHandler(
  callback?: function,
)
: void

Chỉ định hàm được gọi khi người dùng nhấp vào một đường liên kết đến tài nguyên trong cửa sổ Công cụ cho nhà phát triển. Để huỷ đặt trình xử lý, hãy gọi phương thức không có tham số hoặc truyền giá trị rỗng làm tham số.

Thông số

  • callback

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

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

    (resource: Resource, lineNumber: number) => void

setThemeChangeHandler()

Chrome 99 trở lên trình duyệt.* kể từ Chrome 152
browser.devtools.panels.setThemeChangeHandler(
  callback?: function,
)
: void

Chỉ định hàm được gọi khi giao diện hiện tại thay đổi trong Công cụ cho nhà phát triển. Để huỷ đặt trình xử lý, hãy gọi phương thức không có tham số hoặc truyền null làm tham số.

Thông số

  • callback

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

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

    (theme: Theme) => void

    • chủ đề

      Giao diện hiện tại trong Công cụ cho nhà phát triển.