区分 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);

}
相关推荐
志尊宝7 分钟前
Vue3 零基础每日笔记(052):路由常见坑一次排雷——404、刷新丢参数、部署白屏
前端·javascript·vue.js·笔记·html5
linux_cfan9 分钟前
videojs v10 源代码系列解读:13 · 能力型媒体契约:`Media` 的组合接口
前端·javascript·音视频
涛涛ing14 分钟前
2026年9月,前端圈同时发生了四件事,指向同一个方向
前端
艾伦野鸽ggg28 分钟前
Vue2 模板语法与样式绑定
前端
Amos_Web28 分钟前
Rspack 源码解析(十一):资产 Hook 与增量构建
前端·rust·源码阅读
PC2005_cloud28 分钟前
Windows 数据使用量页面卡死:1097 个热点档案和 161 MB 的 SRUM 库
前端·后端
烈风逍遥30 分钟前
AI大模型中fetch 和 ReadableStream为啥一起出现
前端·人工智能
PC2005_cloud39 分钟前
Nginx 防盗链配置实战:用 referer 模块保护网站静态资源
前端·后端
福兮说40 分钟前
Canvas 文字排版:measureText 量出来的宽度为什么总是不对
前端·javascript
夏幻灵1 小时前
从零理解 Redux:从 state、action、reducer 到 Redux Toolkit 与异步请求
前端