Electron窗口白屏解决

简介: Electron白屏问题主要出现在两方面: 1、electron未加载完毕html,electron自身产生的白色背景; 2、electron加载html,html处于加载渲染过程中产生的短暂白屏;

背景

Electron白屏问题主要出现在两方面:

1、electron未加载完毕html,electron自身产生的白色背景;

2、electron加载html,html处于加载渲染过程中产生的短暂白屏;

解决方法:

方法1:

z可设置electron自带的transparent属性进行处理。

new BrowserWindow({

transparent: true, 

frame: false 

})

2中问题可通过提高首屏渲染速度

方法2:

但是,1中可能会由于设置了 app.allowRendererProcessReuse = false; 导致设置背景透明失效。

2中的首屏渲染也只能无限接近,虽然可以在渲染前通过设置html loading,避免白屏的问题,但是在一些业务场景中是不符合业务需求的。

步骤:

1、预加载browserWindow,设置show:false。

因为该窗口只是隐藏,并不是关闭,所以内部的html地址仍然会加载执行。

2、但是,在mac的多桌面、mac与windows的多扩展屏会出现,show窗口的时候。

窗口只会出现在第一次创建的窗口的桌面;

如果之前拖动过窗口,窗口再次被show时,只会出现在最后拖动完成的位置。

故此,可以采用以下的方法处理问题。

若是通过点击或者触发某个窗口(已经存在)的位置来唤起。

1)通过设置父子窗口来完成。

childWindow.setParentWindow(parentWindow);

2)异步解除父子窗口关系。

setTimeout(() => {

    childWindow.setParentWindow(null);

}, 0);

结语

感谢您的阅读!希望本文带给您有价值的信息。

如果对您有帮助,请「点赞」支持,并「关注」我的主页获取更多后续相关文章。同时,也欢迎「收藏」本文,方便以后查阅。

写作不易,我会继续努力,提供有意义的内容。感谢您的支持和关注!

目录
相关文章
|
11月前
electron解决创建新窗口html文件不能引入ipcRenderer通信
electron解决创建新窗口html文件不能引入ipcRenderer通信
Electron + Vite + TS + Vue3打开新窗口实战
前言 我们在使用 Electron 编写桌面应用时,打开新窗口可以说是一个非常常见的场景了。很多刚接触 Electron 的小伙伴面对这样一个问题可能都会显得比较棘手,比如打开新窗口如何知道渲染哪一个页面?打开的新窗口如何与其它窗口产生联系,比如父子窗口?...等等一系列问题。 今天我们就将 Electron 打开新窗口的常见做法分享给大家,而且是基于最新的 TS 封装。
1662 0
Electron + Vite + TS + Vue3打开新窗口实战
|
UED
解决Electron窗口白屏问题的预创建方案
在使用Electron创建窗口时,有时会遇到窗口显示白屏的问题。这篇文章将介绍一种解决方案,即预创建窗口,并提供了针对窗口关闭和应用退出的管理方法,以确保 Electron 应用的顺畅运行和用户体验
647 0
|
前端开发 API
Electron 渲染进程之间互相通信 创建窗口时触发
Electron 渲染进程之间互相通信 创建窗口时触发
|
开发框架 Windows
解决Electron在Windows 7下出现电脑白屏的方法
Electron是一种跨平台的桌面应用程序开发框架,但在Windows 7操作系统中,有时候可能会遇到Electron应用程序出现白屏的问题。本文将介绍两种常见的情况,并提供相应的解决方法,帮助您解决Electron在Windows 7下出现电脑白屏的问题。
1255 0
解决Electron在Windows 7下出现电脑白屏的方法
|
Android开发
Electron使用webview加载部分https页面时,会因为证书出现白屏
Electron使用webview加载部分https页面时,会因为证书出现白屏
495 0
electron菜单或托盘点击如何打开新的窗口
electron菜单或托盘点击如何打开新的窗口
electron菜单或托盘点击如何打开新的窗口
electron-vue升级electron到最新的版本后启动不起来,窗口一闪而过。
electron-vue 升级electron到最新的版本后启动不起来,窗口一闪而过。 排查后原因: electron-vue中的集成了很多库 单方面升级了 electron版本,导致了其他库的版本的不匹配 解决: 升级配套库的版本
327 0
|
JavaScript 前端开发
『快速入门electron』之实现窗口拖拽
## 看完本文你可学会 - 对于进程通信有基本的一个了解 - 学会自定义的顶部栏如何实现拖拽功能
|
2月前
|
JavaScript 开发工具
Electron 开发过程中主进程的无法看到 console.log 输出怎么办
Electron 开发过程中主进程的无法看到 console.log 输出怎么办