
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的依赖路径:
以上参数根据实际情况修改旁咐。
还有,子模块的依赖也是需要修改的。如:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)