美文网首页
electron预创建窗口方法总结

electron预创建窗口方法总结

作者: SailingBytes | 来源:发表于2021-08-19 10:44 被阅读0次

electron创建窗口会出现白屏问题,以下是介绍预创建窗口的总结。

1、基本设置不变,初始化创建的时候添加show: false配置。

const { BrowserWindow } = require('electron');

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

每次只需show/hide窗口即可。

win.show(); // 显示

win.hide(); // 隐藏

2、某些快捷键或者系统默认快捷键,会对窗口默认触发close操作。

这样就会导致窗口被销毁,当要展示窗口时,需要重新创建,就会再次出现白屏问题。

解决方法:做预创建窗口监听,阻止触发close,改为hide。

// 预创建窗口

win.on('close', function(e) {

    e.preventDefault();  

    setTimeout(() => { win.hide(); }, 50)

});

3、但是阻止预创建窗口触发close时,同样也会阻止整个electron应用退出。

解决办法:对app对退出前监听,增加是否要退出应用的全局标识。

const { app } = require('electron');

app.on('before-quit', function(e) {

    global.QUIT = true;

});

// 预创建窗口

win.on('close', function(e) {

   if (global.QUIT) { return false; }

    e.preventDefault();

    setTimeout(() => { win.hide(); }, 50)

});

相关文章

网友评论

      本文标题:electron预创建窗口方法总结

      本文链接:https://www.haomeiwen.com/subject/hppobltx.html