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

}
相关推荐
光算科技2 分钟前
单页应用SEO可行性丨Angular项目的3个索引优化方案
前端·javascript·angular.js
ggaofeng7 分钟前
实践NPM打包和使用
前端·npm·node.js
一只小bit12 分钟前
Qt MainWindow:主窗口组件的介绍与正确使用
前端·c++·qt
Macbethad28 分钟前
半导体EFEM设备TwinCAT程序设计方案
java·前端·网络
ggaofeng33 分钟前
理解npm的原理
前端·npm·node.js
摘星编程34 分钟前
React Native for OpenHarmony 实战:SnapCarousel 轮播组件详解
javascript·react native·react.js
电商API_1800790524738 分钟前
1688商品详情采集API全解析:技术原理、实操指南与业务落地
大数据·前端·人工智能·网络爬虫
記億揺晃着的那天38 分钟前
Chrome 自动填充“用户名”到普通输入框 - 解决方案
前端·chrome
摘星编程1 小时前
React Native for OpenHarmony 实战:PagingScroll 分页滚动详解
javascript·react native·react.js
LawrenceLan1 小时前
Flutter 零基础入门(二十一):Container、Padding、Margin 与装饰
开发语言·前端·flutter·dart