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

}
相关推荐
触底反弹1 天前
一文彻底搞懂 JavaScript 栈和队列(建议收藏)
javascript·算法·面试
To_OC1 天前
我一直以为 Ajax 是个黑盒,直到我写了这 50 行代码
前端·后端·全栈
用户059540174461 天前
RAG 记忆层踩坑实录:用户偏好凭空消失,我排查了 4 小时,最后用 LangChain + Chroma 搭了套自动化回归测试
前端·css
Asize1 天前
Prompt 驱动 NLP:从 ES6 模块化到文本推理实战
javascript·人工智能·机器学习
程序猿阿伟1 天前
《Chrome隔离机制的维度落地指南》
前端·chrome
用户054324329701 天前
AI 生成的代码怎么在前端安全预览 + 一键运行:sandbox iframe 实战 🔒
前端
ALianBlank1 天前
一个 Unity 框架能做多少事?86 个模块 + 21 个小游戏平台
前端·后端·游戏开发
xcLeigh1 天前
鸿蒙PC平台 Shotwell 照片管理器适配实战:从 Linux GNOME 到 鸿蒙PC 的 Electron 迁移
linux·electron·harmonyos·鸿蒙·shotwell·照片管理器
JieE2121 天前
树与二叉树--JS实例
javascript·数据结构
To_OC1 天前
搞懂二叉树递归遍历,我居然是从爬楼梯开始的
前端·javascript·数据结构