devtools.panels.create()
向开发者工具添加一个新的面板。
此函数接受:标题、图标文件的 URL 和 HTML 文件的 URL。它在开发者工具中创建一个新的面板,其内容由 HTML 文件指定。它返回一个Promise
,该 Promise 解析为一个ExtensionPanel
对象,表示新面板。
语法
js
let creating = browser.devtools.panels.create(
title, // string
iconPath, // string
pagePath // string
)
参数
title
-
string
。面板的标题。这将显示在开发者工具窗口顶部的选项卡行中,并且是用户识别您的面板的主要方式。 iconPath
-
string
。指定将在标题旁边显示的图标。它以捆绑到扩展程序中的图像文件的 URL 形式提供。基于 Chromium 的浏览器和 Safari 将此 URL 解析为绝对 URL,而 Firefox 将此 URL 解析为相对于当前扩展程序页面(除非表示为绝对 URL,例如“/icons/panel.png”)。 pagePath
-
string。指定定义面板内容的 HTML 文件。它以捆绑到扩展程序中的 HTML 文件的 URL 形式提供。该 URL 可以解析为绝对 URL 或相对于当前扩展程序页面。有关更多信息,请参阅浏览器兼容性数据。HTML 文件可以包含 CSS 和 JavaScript 文件,就像普通的网页一样。在面板中运行的 JavaScript 可以使用开发者工具 API。请参阅扩展开发者工具。
返回值
一个Promise
,它将使用表示新面板的ExtensionPanel
对象来完成。
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
示例
创建一个新的面板,并向其 onShown 和 onHidden 事件添加侦听器
js
function handleShown() {
console.log("panel is being shown");
}
function handleHidden() {
console.log("panel is being hidden");
}
browser.devtools.panels
.create(
"My Panel", // title
"/icons/star.png", // icon
"/devtools/panel/panel.html", // content
)
.then((newPanel) => {
newPanel.onShown.addListener(handleShown);
newPanel.onHidden.addListener(handleHidden);
});
注意:此 API 基于 Chromium 的chrome.devtools.panels
API。