You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编程调整最大化子窗口大小?Chrome应用模式场景

解决Chrome应用模式子窗口最大化问题

方法一:用JavaScript先还原再调整尺寸

直接在子窗口页面中添加以下代码,即可模拟点击还原按钮的行为,再将窗口调整到指定尺寸:

// 判断窗口是否处于最大化状态
function isMaximized() {
    return window.outerWidth === screen.availWidth && window.outerHeight === screen.availHeight;
}

// 调整窗口到目标大小
function resizeToTarget(targetWidth, targetHeight) {
    if (isMaximized()) {
        // 还原窗口,对应点击还原按钮的操作
        window.restore();
        // 加小延迟确保还原操作完成,避免resize失效
        setTimeout(() => {
            window.resizeTo(targetWidth, targetHeight);
            // 可选:将窗口居中显示
            window.moveTo(
                Math.floor((screen.availWidth - targetWidth) / 2),
                Math.floor((screen.availHeight - targetHeight) / 2)
            );
        }, 100);
    } else {
        window.resizeTo(targetWidth, targetHeight);
    }
}

// 页面加载完成后执行调整
window.onload = () => {
    resizeToTarget(1400, 1000);
};

window.restore()是浏览器原生方法,专门用于将最大化/最小化的窗口恢复到之前的状态,完全对应手动点击还原按钮的效果。添加100毫秒延迟是为了等待浏览器完成还原动作,避免resize操作被忽略。

方法二:打开子窗口时直接指定尺寸

如果子窗口是通过主窗口的window.open()方法打开的,可以直接在打开时设置窗口大小,从根源避免子窗口默认最大化:

// 主窗口中打开子窗口的代码
window.open('子窗口URL', '_blank', 'width=1400,height=1000,top=100,left=100');

这种方式无需在子窗口中额外处理,直接就能打开指定尺寸的窗口,不会继承主窗口的最大化状态。

方法三:调整Chrome启动参数(可选)

若不想让子窗口默认继承最大化状态,可以修改启动脚本,去掉--start-maximized参数,改为在主窗口加载后手动最大化:

# 修改后的启动脚本
$flags = "--app=$applicationUrl --new-window"
(New-Object -ComObject WScript.shell).Run('chrome.exe ' + $flags)

然后在主窗口页面中添加代码,实现加载完成后最大化主窗口:

window.onload = () => {
    window.maximize();
};

这样主窗口保持最大化的应用模式,但子窗口打开时不会默认最大化,直接使用resizeTo()即可生效。

内容的提问来源于stack exchange,提问作者Tian Qin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 08:33:16