我已经使用Firefox WebExtensions创建了一个侧边栏,但是我喜欢将侧边栏停靠在底部,我经常搜索,并且无法找到任何内容。
我使用的代码就是这个:
Sidebar.js
var thisPanel = browser.extension.getURL("/this.html");
var thatPanel = browser.extension.getURL("/that.html");
function toggle(panel) {
if (panel === thisPanel) {
browser.sidebarAction.setPanel({panel: thatPanel});
} else {
browser.sidebarAction.setPanel({panel: thisPanel});
}
}
browser.browserAction.onClicked.addListener(() => {
browser.sidebarAction.getPanel({}).then(toggle);
});
答案 0 :(得分:0)
嗯,它被称为侧吧..
引用WebExtension documentation,强调我的:
侧边栏是一个窗格,在浏览器窗口的左侧显示,位于网页旁边。
如果你想在其他地方停靠某些东西,你需要将DOM注入带有内容脚本(脆弱)的页面,或者写一个devtools.panels
extension并将其停靠在Dev Tools中。
答案 1 :(得分:0)
这受到Webextension标准的限制:您不能调用等待诺言的用户操作,因为这不被视为“用户操作处理程序”。阅读更多here:
某些WebExtension API执行的功能通常是用户操作的结果。 [...] 为了遵循“没有意外”的原则,只能从处理程序内部为用户操作调用此类API。
使用runtime.connect()