【Electron-Vue】构建桌面应用(41)- Electron程序第一次启动时会有短暂的空白页面

使用Electron开发的时候,会发现安装后第一次启动会出现短暂的空白大概是1~3秒不等。起初是以为在创建窗口的时候会去加载html页面,在加上vue组件的渲染,导致在启动的时候会出现几秒的空白页面,然后渲染之后,就能正常显示。之后的下次启动也不会出现这种问题。如果是这样的话,应该是缓存才会出现第二次启动没有空白页面的情况。

在github的electron上看到了一个类似的问题,开发者给出的解释是:
在这里插入图片描述
他认为是Chrome的版本升级导致的问题,然后给出了一个变通的方式去解决这个问题。

解决办法就是:创建窗口的时候先将窗口隐藏,即设置show:false。然后在ready-to-show中显示窗口即调用show()函数

Electron给出的ready-to-show解释为:

当页面已经渲染完成(但是还没有显示) 并且窗口可以被显示时触发
请注意,使用此事件意味着渲染器会被认为是"可见的"并绘制,即使 show 是false。 如果您使用 paintWhenInitiallyHidden: false,此事件将永远不会被触发。

也就是说:当页面渲染完成后,该事件会被触发。然后调用show(),就可以显示页面了。按照理解如果这个操作,在页面渲染之后触发显示,应该不会出现白屏的问题。尝试了一下发现,依然会存在这个问题:

// 创建窗体
function createWindow() {
   
  /**
   * Initial window options
   */
  let appIcon
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值