Electron开发: Electron 窗口问题汇总

本节旨在汇总在开发Electron 窗口可能遇到的问题,做一个汇总,后续遇到问题会持续更新。

1. 窗口闪烁问题。

const { BrowserWindow } = require('electron');
const win = new BrowserWindow();
win.loadURL('https://github.com');

使用 new BrowserWindow() 创建出窗口,如果不作任何配置的话,窗口就会出现,默认是白色的;这个时候使用 win.loadURL('https://github.com'),加载远程资源,窗口重新渲染,从而导致窗口出现闪烁。

解决方法:

const { BrowserWindow } = require('electron');
const win = new BrowserWindow({ show:false });

win.loadURL('https://github.com');
win.once('ready-to-show',()=>{
    win.show();
})

2. 老版Window7系统下,窗口白屏问题。

公司业务开发的Electron应用,是给老师用的,有些老师是那种老版本Window7,并且关闭了自动更新。

解决办法:安装最新版的.NET Framework

官方下载地址:https://dotnet.microsoft.com/download/dotnet-framework

相关issue: https://github.com/electron/electron/issues/25186

3. macOS下电脑关机,Electron应用阻止关机问题。

macOS 关机会把所有的窗口关闭,如果存在

// 窗口注册close事件
win.on('close',(event)=>{
  event.preventDefault()  // 阻止窗口关闭
})

这种代码,会导致阻止系统关机。

4. Window系统下,使用 hide() 方法,可能导致页面挂住不能用。

你可能感兴趣的:(Electron开发: Electron 窗口问题汇总)