当前位置: 首页 > news >正文

electron Tab加载动画开启和关闭

 记个开发中的bug,以此为鉴。眼懒得时候手勤快点儿,不要想当然!!!

没有转载的价值,请勿转载搬运呦。

WebContents API:

Event: 'did-finish-load'​

导航完成时触发,即选项卡的旋转器将停止旋转,并指派onload事件后。

Event: 'did-stop-loading'​

当tab中的旋转指针(spinner)结束旋转时,就会触发该事件。

复现步骤:

  1. 使用账号登录客户端系统。
  2. 点击菜单栏菜单,跳转其他系统页面正常,在此页面点击打开任意链接,一直停留在加载动画页面

截图:

原因分析:

页面打开时,loading加载动画及时关闭(did-finish-load),在本页面跳转时,loading动画没有及时关闭(did-finish-load生命周期没有执行到)

根据此情况又增加了几个生命周期,代码执行情况如下:

this.browserViewList[`${arg.applicationKey}`].webContents.on('did-start-loading',() => {_this.browserViewList[`${arg.applicationKey}`].webContents.send('loading-show')log.info('did-start-loading')})//did-stop-loadingthis.browserViewList[`${arg.applicationKey}`].webContents.on('did-stop-loading',() =>_this.browserViewList[`${arg.applicationKey}`].webContents.send('loading-hide'))//dom-readythis.browserViewList[`${arg.applicationKey}`].webContents.on('dom-ready',() => log.info('dom-ready'))//did-frame-finish-loadthis.browserViewList[`${arg.applicationKey}`].webContents.on('did-frame-finish-load',() => log.info('did-frame-finish-load'))//did-finish-load监听加载完成---隐藏loading====>此事件新打开页面会执行,在打开页面链接跳转时不会执行this.browserViewList[`${arg.applicationKey}`].webContents.on('did-finish-load',() => log.info('did-finish-load'))

跳转1.0系统打开页面执行的生命周期

在1.0系统跳转链接执行生命周期

解决方案:

修改动画关闭的生命周期为did-stop-loading

http://www.lryc.cn/news/302474.html

相关文章:

  • 深度学习发展的艺术
  • las数据转pcd数据
  • HTTP缓存技术
  • USACO 2024年1月铜组 MAJORITY OPINION
  • Windows 重启 explorer 的正确做法
  • linux基础学习(10):基本权限与相关命令
  • 木马植入方式及防范手段
  • Unity3D中刚体、碰撞组件、物理组件的区别详解
  • Java实现Redis延时队列
  • Selenium折线图自动化测试
  • <网络安全>《41 网络攻防专业课<第七课 - IIS上传和Tomcat弱口令漏洞攻击与防范>》
  • 云计算基础-虚拟化概述
  • ElementUI +++ Echarts面试题答案汇总
  • notepad++打开文本文件乱码的解决办法
  • 道可云元宇宙每日资讯|上海开放大学发布“智慧学习中心元宇宙”
  • 压缩感知(Compressed Sensing,CS)的基础知识
  • 如何系统地学习Python
  • SMT2020:半导体制造流程标准仿真测试数据介绍
  • 沁恒CH32V30X学习笔记11---使用外部时钟模式2采集脉冲计数
  • ffmpeg for android编译全过程与遇到的问题
  • 【无标题】力扣报错:member access within null pointer of type ‘struct ListNode‘
  • Qt之Qchar类的接口1
  • vue的十大面试题详情
  • (十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目
  • 多维时序 | Matlab实现LSTM-Mutilhead-Attention长短期记忆神经网络融合多头注意力机制多变量时间序列预测模型
  • Android 基础技术——Binder 机制
  • 【STM32 CubeMX】STM32中断体系结构
  • JAVA高并发——JDK的并发容器
  • 代码随想录算法训练营day17||二叉树part04、110.平衡二叉树 、257. 二叉树的所有路径 、404.左叶子之和
  • three.js 3D可视化地图