chrome.devtools.panels

Mô tả

Sử dụng API chrome.devtools.panels để tích hợp tiện ích của bạn vào giao diện người dùng cửa sổ Công cụ dành 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 các bảng điều khiển hiện có và thêm thanh bên.

Mỗi bảng điều khiển tiện ích và thanh bên sẽ hiển thị dưới dạng một trang HTML riêng biệt. Tất cả các trang tiện ích hiển thị trong cửa sổ Công cụ cho nhà phát triển đều có quyền truy cập vào tất cả các phần của API chrome.devtools, cũng như tất cả cá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 gọi lại xử lý các yêu cầu của người dùng để mở một tài nguyên (thường là một lượt nhấp vào đường liên kết tài nguyên trong cửa sổ Công cụ dành cho nhà phát triển). Hầu hết một trong các trình xử lý đã cài đặt sẽ được gọi; người dùng có thể chỉ định (sử dụng hộp thoại Cài đặt công cụ dành 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 mới được giữ lại.

Hãy xem phần Tóm tắt về API Công cụ dành 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ụ dành 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 sẽ 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ụ dành 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 sẽ thêm ngăn thanh bên có trong Sidebar.html và có tiêu đề Font Properties (Thuộc tính phông chữ) vào bảng điều khiển Elements (Thành phần), 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 của ví dụ này đối với cửa sổ Công cụ dành 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ụ DevTools
Bảng điều khiển biểu tượng tiện ích trên thanh công cụ DevTools.

Để dùng thử API này, hãy cài đặt ví dụ về API bảng điều khiển devtools 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) => {...}

    • lệnh gọi lại

      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 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 hiển thị 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

      Liệu nút này có bị tắt hay không.

ElementsPanel

Biểu thị bảng điều khiển 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) => {...}

    • lệnh gọi lại

      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, callback?: function) => {...}

    • tiêu đề

      chuỗi

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

    • lệnh gọi lại

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

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

      (result: ExtensionSidebarPane) => void

      • kết quả

        Đối tượng ExtensionSidebarPane cho ngăn thanh bên đã 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) => {...}

    • lệnh gọi lại

      hàm

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

      () => void

  • onSearch

    Event<functionvoidvoid>

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

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

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

    • lệnh gọi lại

      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) => {...}

    • lệnh gọi lại

      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 phải chứa 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 hiển thị khi nhấn nút.

    • tooltipText

      chuỗi

      Văn bản hiển thị 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

      Liệu nút này có bị tắt hay không.

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 sang 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) => {...}

    • lệnh gọi lại

      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 hiển thị 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) => {...}

    • lệnh gọi lại

      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, callback?: function) => {...}

    • biểu thức

      chuỗi

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

    • 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.

    • lệnh gọi lại

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

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

      () => void

  • setHeight

    void

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

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

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

    • độ cao

      chuỗi

      Thông số 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, callback?: function) => {...}

    • jsonObject

      chuỗi

      Một đối tượng sẽ hiển thị trong ngữ cảnh của trang được kiểm tra. Được đánh giá trong ngữ 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.

    • lệnh gọi lại

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

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

      () => void

  • 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

Biểu thị 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) => {...}

    • lệnh gọi lại

      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, callback?: function) => {...}

    • tiêu đề

      chuỗi

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

    • lệnh gọi lại

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

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

      (result: ExtensionSidebarPane) => void

      • kết quả

        Đối tượng ExtensionSidebarPane cho ngăn thanh bên đã tạo.

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

Tên của giao diện màu đượ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ể dùng: default (mặc định) và dark.

Loại

chuỗi

Phương thức

create()

chrome.devtools.panels.create(
  title: string,
  iconPath: string,
  pagePath: string,
  callback?: function,
)

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

Tham 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ụ dành cho nhà phát triển.

  • iconPath

    chuỗi

    Đường dẫn của biểu tượng của 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 so với thư mục tiện ích.

  • lệnh gọi lại

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

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

    (panel: ExtensionPanel) => void

    • Đối tượng ExtensionPanel đại diện cho bảng điều khiển đã tạo.

openResource()

chrome.devtools.panels.openResource(
  url: string,
  lineNumber: number,
  columnNumber?: number,
  callback?: function,
)

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

Tham số

  • url

    chuỗi

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

  • lineNumber

    số

    Chỉ định số dòng để cuộn đến khi tải tài nguyên.

  • columnNumber

    số không bắt buộc

    Chrome 114 trở lên

    Chỉ định số cột để cuộn đến khi tải tài nguyên.

  • lệnh gọi lại

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

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

    () => void

setOpenResourceHandler()

chrome.devtools.panels.setOpenResourceHandler(
  callback?: function,
)

Chỉ định hàm sẽ được gọi khi người dùng nhấp vào một đường liên kết tài nguyên trong cửa sổ Công cụ dành cho nhà phát triển. Để huỷ thiết lập 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ố.

Tham số