区分 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 分钟前
如何设计一个高可复用的前端组件库:从API设计到文档自动化
javascript
酷酷的逗逗乐3 分钟前
前端转 Agent 开发 · 第三节:LangChain 提示词模板
前端
Cache技术分享4 分钟前
516. Java 方法句柄 - 转换(进阶篇·下)
前端·后端
妙码生花5 分钟前
全网 8k star 的 BuildAdmin 正式发布 Golang 版本,这次我们在CRUD赛道杀死了比赛。
前端·后端·ai编程
写代码像蔡徐抻6 分钟前
三年了,AI为何还没有抢走程序员饭碗?
前端·后端·面试
梦曦i11 分钟前
unix-router v0.1.0 首发:uni-app x 的 vue-router 风格路由库
前端·uni-app
mONESY13 分钟前
一句话是怎么被大模型记住的?——拆解 LangChain.js 消息从诞生到落盘的完整旅程
javascript
Linsk13 分钟前
妙用:focus解决0到auto高度过渡的边界场景
前端·css
零域码客16 分钟前
一文掌握 jQuery + Flask 全栈核心知识点(前端交互 + 后端接口 + 前后端联调)
前端·python·ajax·flask·jquery·前后端联调·web全栈
এ慕ོ冬℘゜18 分钟前
html理论
前端·html