Firefox webextension window.resizeTo 不会为 browser.windows.create 创建的页面调整大小

Firefox webextension window.resizeTo does not resize for page created by browser.windows.create

我正在创建一个带有弹出窗口的 F​​irefox webextension,需要在呈现页面后根据内容以编程方式调整大小。

我有以下代码使用 browser.windows.create 创建弹出窗口 window:

browser.windows.create({
    type    : 'popup',
    url     : `page.html`,
});

page.html 内,渲染后,我尝试使用以下方法调整大小:

window.resizeTo(<width>,<height>);

然而这并没有起到任何作用。来自 window.resizeTo 文档,它的脚注说:

Note: It's not possible to resize a window or tab that wasn’t created by window.open(). It's also not possible to resize when the window has multiple tabs.

我猜这是由于第一个原因,因为 window 不是使用 window.open() 创建的,所以它不能调整大小。有其他选择吗? 我试图避免使用 browser.windows.update,它增加了复杂性,因为我必须发送带有尺寸的消息。我有什么地方做错了或有什么处理方法的建议吗?

page.html 是一个扩展页面(就像 browser_action 弹出窗口或选项页面)所以它可以访问 browser 你可以调用 browser.windows.update直接就像你现在打电话给window.resizeTo一样,不需要短信。

browser.windows.update(browser.windows.WINDOW_ID_CURRENT, {
  width: 500,
  height: 500,
});