标签:菜单 窗口 show win 菜单栏 Electron 白屏 加载
问题背景:
最近准备使用Electron来做一个桌面读书软件,由于之前接触出类似项目,但没有人深入去做,所以这次准备自己独立完成一个。
Electron打包的应用会自带上顶部菜单栏,包括(File、Edit、View、Window、Help)等菜单,由于不需要该菜单,于是在主程序文件中将他们隐藏掉了。
// 隐藏顶部菜单
win.setMenu(null);
重新运行后发现,在应用启动时会出现0.5秒左右的闪烁,此时隐藏的菜单再次出来了,而且屏幕一片雪白,体验很不好
问题排查
本以为是不是电脑性能问题,想着是不是打包后就不会出现该现象,打包后安装发现问题照旧。
经过多次搜索,最后在网上找到了相同的问题。
解决Electron启动出现短暂的白屏
也就是说,应用在打开时会加载本地资源,在没有加载完成时是没有任何内容的,所以一片空白。
如果要解决该问题,就需要在应用资源加载完成后再显示窗口,这样就可以了。
解决方案
- 在主程序文件中,将窗口状态设置为关闭。即添加“show:false”。
- 创建一个“ready-to-show”的监听,每次窗口渲染完成后会触发该事件,当该事件被触发后,就表示可以显示窗口了。
win.once('ready-to-show', () => {
win.show();
});
总结
这样以来就可以了,再次编译时,亲测不会出现闪烁现象了。
标签:菜单,窗口,show,win,菜单栏,Electron,白屏,加载 来源: https://blog.csdn.net/weixin_43403746/article/details/122797653
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。