vue项目中视频播放结束返回首页出现1秒左右的白屏问题
vue项目的性能优化问题,一直以来都是大家比较关注的。
近日负责的项目中,使用了SignalR实时通讯,客户端中点击发起播放视频的请求到服务器,服务器接到请求后再调用前端的播放视频方法,以此来达到播放视频的功能,也可以通过服务器进行广播,以此让另一个客户端可以与之联动,从而达到多个客户端同一时刻由其中一端发起请求,却达到所有客户端同时播放、同时结束的视频联动广播功能。实时通信的功能没话说,反应速度非常快,却恰恰在播放完视频,返回首页的时候出现了约1秒时间的白屏问题!这用户体验感一下子拉低了太多太多!
纠结之余,开始排查问题所在!
首先,联动视频只有在首页跳到视频播放页面返回时才出现这样的问题,而在其它二级或者三级页面可以迅速返回,迅速显示页面内容,问题预计出现在首页!
其次,关于vue项目首屏加载出现白屏的问题是比较常见的,也是大家比较头疼的问题,优化方面也是从路由懒加载,keepAlive, 压缩图片,减少http请求次数,使用nuxt框架等来考虑。但是当下项目的问题并不是首屏加载慢,出现白屏的问题,而是点击返回首页的时候才出现,以此可以断定并不是首屏加载的问题!
最后,与老同学聊了一会,和我说会不会是因为首页频繁操作了dom,引起了回流、重绘!我一开始质疑了同学,因为vue项目我基本不操作dom,而且首页只有一些图片和按钮,并不复杂,也没有操作dom的必要!然后他又说检查一下动画是否已经脱标,如果没有,重绘的话,也可能会引起类似的情况!
于是乎,我从动画开始检查,发现自己之前使用了别人写的水波纹动画特效,在此处,我确确实实操作了dom,注释这些代码,和动画css之后,打包看效果,确实不再白屏了!为了保住这个动画效果又继续做了一些列的修改,终于在不需要操作dom的情况下动画正常显示在页面上,同时也解决了这一白屏bug!
不曾想自己会在方面出现问题,因为动画本来就是定位脱标了的!以后使用别人的东西,还是要仔细一些!哈哈!
关于回流与重绘可以参考下面的网址:讲得非常清晰!
https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/24
vue项目中视频播放结束返回首页出现1秒左右的白屏问题的更多相关文章
- vue项目中阻止浏览器返回上一页
vue项目中在某个页面阻止浏览器返回上一页,适用移动端.PC端. 使用场景例如: 首页 与 A页面 来回跳转,那样点击浏览器返回时也会来回跳转,本想当页面在首页的时候就不再返回了,所以这个时候 ...
- vue项目中遇到的那些事。
前言 有好几天没更新文章了.这段实际忙着做了一个vue的项目,从 19 天前开始,到今天刚好 20 天,独立完成. 做vue项目做这个项目一方面能为工作做一些准备,一方面也精进一下技术. 技术栈:vu ...
- 在vue项目中使用axios发送FormData
这个是axios的中文文档,挺详细的: https://www.kancloud.cn/luponu/axios/873153 文档中的 使用 application/x-www-form-ur ...
- vue项目中遇到的一些问题
或访问:https://github.com/littleHiuman/experiences-about-vue 欢迎补充! vuex 状态 vue-cli 命令行 vue vue vue-rou ...
- Vue项目中遇到的一些问题总结
一.开发环境使用Ajax请求,报错 网上查的资料,在config中的index.js这样设置 proxyTable:{ '/api':{ target:'', //此处为你的API接口地址 chan ...
- 如何在VUE项目中添加ESLint
如何在VUE项目中添加ESLint 1. 首先在项目的根目录下 新建 .eslintrc.js文件,其配置规则可以如下:(自己小整理了一份),所有的代码如下: // https://eslint.or ...
- 浅谈 Axios 在 Vue 项目中的使用
介绍 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 特性 它主要有如下特性: 浏览器端发起XMLHttpRequests请求 Node端发起http ...
- 去除vue项目中的#及其ie9兼容性
一.如何去除vue项目中访问地址的# vue2中在路由配置中添加mode(vue-cli创建的项目在src/router/index.js) export default new Router({ m ...
- vue 项目中当访问路由不存在的时候默认访问404页面
前言: 在Vue项目中,当访问的页面路由不存在或错误时,页面显示为一片空白.然而,通常我们需要对访问url不存在或者错误的情况下添加默认的404页面,即not found页面. 一般的处理方法是: 在 ...
随机推荐
- HM16.0之帧内模式——xCheckRDCostIntra()函数
参考:https://blog.csdn.net/nb_vol_1/article/category/6179825/1? 1.源代码: Void TEncCu::xCheckRDCostIntra( ...
- Python九九乘法表(正序和逆序)
正序: for i in range(1,10): for j in range(1,i+1): print(str(i)+"*"+str(j)+"="+str ...
- Java数据结构——循环队列
普通顺序队列存在的问题在普通顺序队列中,入队的操作就是先将尾指针rear右移一个单位,然后将元素值赋值给rear单位.出队时,则是头指针front后移一个单位.像这样进行了一定数量的入队和出队操作后, ...
- Java--- 关于null的处理若干方法
Java--- 关于null的处理若干方法 相信空指针是平时最常见的错误了,下面认识 null ,有助于解决 NPE 问题. nulll大小写敏感 关于这个问题,其实是对面试时候手写算法题时候需要注意 ...
- ID3\C4.5\CART
目录 树模型原理 ID3 C4.5 CART 分类树 回归树 树创建 ID3.C4.5 多叉树 CART分类树(二叉) CART回归树 ID3 C4.5 CART 特征选择 信息增益 信息增益比 基尼 ...
- day40:python操作mysql:pymysql模块&SQL注入攻击
目录 part1:用python连接mysql 1.用python连接mysql的基本语法 2.用python 创建&删除表 3.用python操作事务处理 part2:sql注入攻击 1.s ...
- 前端Web APIS
day01 - Web APIs 学习目标: 能够通过ID来获取元素能够通过标签名来获取元素能够通过class来获取元素能够通过选择器来获取元素能够获取body和html元素能够给元素注册事件能够修改 ...
- WebApis中DOM操作的基本案例
1.1. 排他操作 1.1.1 排他思想 如果有同一组元素,我们想要某一个元素实现某种样式, 需要用到循环的排他思想算法: 所有元素全部清除样式(干掉其他人) 给当前元素设置样式 (留下我自己) 注意 ...
- Android开发之模拟器genymotion安装apk出现错误: Install_failed_invalid_URI
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985,转载请说明出处. install failed invalid uri Android开发之模拟器ge ...
- Java使用POI的SXSSFWorkbook与HSSFWorkbook导出复杂表头
一.HSSFWorkbook与SXSSFWorkbook的区别: HSSFWorkbook是对Excel2003以前的版本进行操作的,即后缀名为.xls SXSSFWorkbook时对Excel200 ...