electron如何解决白屏问题

electron如何解决白屏问题,第1张

electron白屏问神掘祥题主要出现在两方面:

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

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

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

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

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

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

步骤:

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

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

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

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

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

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

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

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

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

electron在win7可能会出现白屏情况,下面是我整理的2种情况:

1、是win7中 .NETframework 版本过低

解决方案,用360管家(.NET官斗世网试过,失慧笑败了)安装( netframework 4.7版本以上),安装完成记得重启电脑。

2、部分win7性能较差或者electron加载失败

监听 webContents 中 did-fail-load, 进行空碧肢 reload。

最近有项目需要用到画布,且是跨平台销闷的应用,选用了 https://github.com/Automattic/node-canvas

打包过程遇到了各种麻烦,开发电脑没有问题,未装开发环境的电脑普遍白屏,详查才知道是动态链接库的问题。

出现问题得解决啊,于是乎有以下几种思路。

无奈条路亏启弯没有走通。

用第二种虽然花费大量精力,但至少出来结果了。

修改编译后的canvas.node的依赖路径:

以上参数根据实际情况修改旁咐。

还有,子模块的依赖也是需要修改的。如:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12412317.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存