我已经创建了一个 chrome 扩展,现在我想为 firefox 创建一个扩展。我在 chrome 扩展中使用了大部分代码。
但是现在我遇到了一个问题。在 chrome 中,扩展程序可以在工具栏上有一个图标,单击时可以弹出一个页面。但是Firefox中没有弹出窗口。我用 apanel代替。
问题是如何关闭面板?我已经window.close()在面板中使用了一些事件。但这将关闭整个 Firefox 窗口。
我已经创建了一个 chrome 扩展,现在我想为 firefox 创建一个扩展。我在 chrome 扩展中使用了大部分代码。
但是现在我遇到了一个问题。在 chrome 中,扩展程序可以在工具栏上有一个图标,单击时可以弹出一个页面。但是Firefox中没有弹出窗口。我用 apanel代替。
问题是如何关闭面板?我已经window.close()在面板中使用了一些事件。但这将关闭整个 Firefox 窗口。
使用
window.close()
在 FF 70/71 中测试
参考https://discourse.mozilla.org/t/how-to-close-popup-browser-window/13977/4
Apanel不是窗口 - 它只是 XUL 文档中的一个标记(在您的情况下是浏览器窗口的文档)。您应该使用为此标签提供的 API 来操作它,特别是panel.hidePopup()方法:
document.getElementById("my-panel").hidePopup();