javascript - Firefox webextension window.resizeTo 不会为 browser.windows.create 创建的页面调整大小
问题描述
我正在创建一个带有弹出窗口的 Firefox webextension,该弹出窗口需要根据页面呈现后的内容以编程方式调整大小。
我有以下代码使用browser.windows.create创建一个弹出窗口:
browser.windows.create({
type : 'popup',
url : `page.html`,
});
在内部page.html
,渲染后,我正在尝试使用以下方法调整大小:
window.resizeTo(<width>,<height>);
然而,这并没有做任何事情。从window.resizeTo文档,它的脚注说:
注意:不能调整不是由 window.open() 创建的窗口或选项卡的大小。当窗口有多个选项卡时,也无法调整大小。
我猜这是由于第一个原因,因为窗口不是使用创建的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,
});
推荐阅读
- javascript - 设置 document.cookie 什么都不做
- jwt - Keycloak 客户端映射器将 relam 名称显示为 JWT 令牌中的个人属性
- python-3.x - 如果在 docker 上开发,flask app 邮件密码不安全
- php - php pdo 如何从数据库中下拉并设置默认值
- unit-testing - 使用 MDX 和 graphql 数据测试 Gatsby 组件
- excel - power bi 计算列中的多个值
- javascript - 从 Flow 迁移到 TS 错误:TS8010:类型注释只能在 TypeScript 文件中使用
- javascript - 使用具有最大行数的nodejs读取csv文件
- python - 我想从 github 以字典的形式获取数据,但面临问题“字典更新序列元素 #0 的长度为 1;需要 2”
- angular - 只有单击选项卡才能显示 mat-tab 的内容吗?角