区分 electron 全屏和最大化

一. 全屏

在 Electron 中,当窗口处于全屏状态时,通常不能直接使用 JavaScript 来改变窗口大小。这是出于安全和用户体验的考虑,以防止意外的窗口大小变化影响全屏体验。

1. 退出全屏后再调整大小

检测全屏状态,退出全屏并调整大小

javascript 复制代码
const { BrowserWindow } = require("electron");

const win = BrowserWindow.getFocusedWindow();

const isFullScreen = win.isFullScreen();



if (isFullScreen) {

  win.setFullScreen(false);

  win.setSize(800, 600); // 设置新的窗口大小

}

二. 最大化

在 Electron 中,当窗口处于最大化状态时,确实可能无法直接通过 JavaScript 来改变窗口大小。这是因为在最大化状态下,窗口的大小通常由操作系统管理。

1. 先取消最大化状态

在尝试改变窗口大小时,首先检查窗口是否处于最大化状态。如果是,可以使用 unmaximize() 方法来取消最大化状态。

javascript 复制代码
const { BrowserWindow } = require("electron");

let win = BrowserWindow.getFocusedWindow();

if (win.isMaximized()) {

  win.unmaximize();

  win.setSize(800, 600);

}
相关推荐
Henry1434 分钟前
给一个每天都在升级的 CLI 做桌面壳,我踩到的五个坑
electron
今日无bug17 分钟前
从「拿来主义」到「亲手造轮子」:2 种 MCP 文件服务器写法对比
前端·node.js·mcp
xcyxiner18 分钟前
flutter 运行到模拟器上
android·前端·flutter
用户9210802628618 分钟前
从 COT 到 ThoughtChain:AI 应用为什么需要展示“思考过程”
前端
天真小巫19 分钟前
2026.8.23总结
前端·html
PedroQue9919 分钟前
RouterLink v2.5.0:H5端原生能力全面回归
前端·uni-app
八角丶22 分钟前
Node.js 异步上下文详解(实验驱动)
前端·node.js
用户21816970493025 分钟前
Flutter (二十五)视频播放
前端
半个落月25 分钟前
在浏览器里运行 DeepSeek-R1:推理、流式输出与停止生成(二)
前端·人工智能·react.js
绿岛之北26 分钟前
Electron 安全第四章: Preload 与 IPC
前端·electron