electron Tab加载动画开启和关闭

这篇具有很好参考价值的文章主要介绍了electron Tab加载动画开启和关闭。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

WebContents API:

Event: 'did-finish-load'​

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

Event: 'did-stop-loading'​

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

复现步骤:

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

截图:

electron Tab加载动画开启和关闭,electron,javascript,前端

原因分析:

页面打开时,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-loading
      this.browserViewList[`${arg.applicationKey}`].webContents.on(
        'did-stop-loading',
        () =>
          _this.browserViewList[`${arg.applicationKey}`].webContents.send(
            'loading-hide'
          )
      )
      //dom-ready
      this.browserViewList[`${arg.applicationKey}`].webContents.on(
        'dom-ready',
        () => log.info('dom-ready')
      )
      //did-frame-finish-load
      this.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系统打开页面执行的生命周期

electron Tab加载动画开启和关闭,electron,javascript,前端

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

electron Tab加载动画开启和关闭,electron,javascript,前端

解决方案:

修改动画关闭的生命周期为did-stop-loading文章来源地址https://www.toymoban.com/news/detail-832163.html

到了这里,关于electron Tab加载动画开启和关闭的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 只会用插件可不行,这些前端动画技术同样值得收藏-JavaScript篇(上)

    目录 前言 settimeout/setinterval requestAnimationFrame 基本用法 时间戳参数 帧数与时间戳计算 自动暂停 JS中的贝塞尔曲线 概念 公式 二次贝塞尔 三次贝塞尔 N次贝塞尔 贝塞尔曲线+动画 动画类 在动画中使用贝塞尔 总结 相关代码: 贝塞尔曲线相关网站: 参考文章: 上篇文章我们详

    2024年02月16日
    浏览(67)
  • 只会用插件可不行,这些前端动画技术同样值得收藏-JavaScript篇(下)

    目录 前言 介绍 基本使用 关键帧 KeyframeEffect的三种类的声明 keyframes options 动画对象 全局Animation类 标签中的animate函数 总结 相关代码: 接着上文往下介绍,上篇文章我们对JS原生动画和贝塞尔曲线有了一个详细的认识,基于定时器或动画帧,我们可以实现元素的动画缓动,本

    2024年02月12日
    浏览(44)
  • vue实现多个tab标签页的切换与关闭

    2.实现原理  vuex,实现对当前激活项,当前tab列表,当前tab的translateX,当前缓存页,当前路由的状态管理。 将vuex中的数据保存到 sessionStorage 中,避免页面刷新丢失,当浏览器关闭时,清空数据。 通过ref定位,拿到当前窗口宽度与当前所在路由的tab标签的所有宽度,判断两

    2024年02月15日
    浏览(32)
  • dhcp应该开启还是关闭(dhcp应该开启还是关闭)

    最好是开启。dhcp服务关闭后,上网设备需要手动设置ip地址才能上网。 1、开启DHCP功能时,只要客户端的状态是自动获取IP地址,服务器端就对客户端动态的分配P地址。如果客户端是手动配置好的IP地址,那么客户端不会再去服务器端申请P地址了。 2、关闭DHCP功能时,自动获

    2024年02月04日
    浏览(78)
  • root开启后怎么关闭,手机root开启后怎么关闭

    取消root权限的方法其实是比较简单的,一般通常是需要重新刷机或固件升级都是可以取消root权限,也可以去体验店或售后进行固件升级都是可以的。取消root权限的具体方法: 1、下载手机刷机软件,并打开软件。 2、安装手机驱动,使用刷机软件自动装好手机驱动。 3、打开

    2024年02月09日
    浏览(53)
  • 第二章 Electron自定义界面(最大化、最小化、关闭、图标等等)

    Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发经验(这段话是来自官网)。 这里我已经搭建好了项目 👉👉👉 快

    2024年02月05日
    浏览(53)
  • JavaScript编程实现tab选项卡切换的效果+1

    之前在“圳品”信息系统使用了tab选项卡来显示信息,详见: JavaScript编程实现tab选项卡切换的效果 在tab选项卡中使用其它div来显示信息就出现了问题,乱套了,比如下面的这段代码: 运行效果如下: 可以看到,第1张选项卡中的div id=\\\"div1\\\" class=\\\"blue\\\"选项卡1/div消失了,而第

    2024年02月03日
    浏览(48)
  • Ubuntu - 查看、开启、关闭和永久关闭防火墙

    在 Ubuntu 中,可以使用 ufw (Uncomplicated Firewall)来管理防火墙。以下是在 Ubuntu 中查看、开启、关闭和永久关闭防火墙的方法: 1. 查看防火墙状态: 要查看 Ubuntu 中 ufw 防火墙的状态,可以执行以下命令: sudo ufw status 这将显示当前防火墙规则的状态,包括是否启用和允许的规

    2024年02月08日
    浏览(41)
  • CentOS防火墙操作:开启端口、开启、关闭、配置

    systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体 启动一个服务: systemctl start firewalld.service 关闭一个服务: systemctl stop firewalld.service 重启一个服务: systemctl restart firewalld.service 显示一个服务的状态: systemctl status firewalld.service 在开机时启

    2024年02月12日
    浏览(50)
  • vue实现弹出框内嵌页面展示,添加tab切换展示实时加载

    最近做业务的时候,发现产品的原型图上有一个弹出框,上面包含了两个窗口要进行切换。 每个窗口都有分页列表展示、搜索、添加和删除,感觉就是两个完整的页面,如果全写在一个页面会很麻烦,还可能会出现一系列的问题,后期改起来比较麻烦,所以我就准备分开来写

    2024年02月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包