本节旨在汇总在开发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() // 阻止窗口关闭
})
这种代码,会导致阻止系统关机。
网友评论