Vue项目 在chrome页面崩溃:喔唷 崩溃了(总结)

Vue项目 在chrome页面崩溃:喔唷 崩溃了(总结)情况一 vue 项目在谷歌浏览器上出现崩溃一 问题描述 最近 vue 项目开发时 在 chrome 浏览器页面过一段时间一直提示 页面崩溃 喔唷崩溃了项目开发的时候 测试同事反馈页面会出现 喔唷崩溃了 打开控制台进行相同操作后发现控制台会频繁出现一个警告 Forcedreflow N ms 二 问题 N

情况一、vue项目在谷歌浏览器上出现崩溃

一、问题描述:

最近vue项目开发时,在chrome浏览器页面过一段时间一直提示:页面崩溃:喔唷 崩溃了

Vue项目 在chrome页面崩溃:喔唷 崩溃了(总结)

 项目开发的时候,测试同事反馈页面会出现“喔唷 崩溃了”,打开控制台进行相同操作后发现控制台会频繁出现一个警告:

Forced reflow while executing JavaScript took

ms

Vue项目 在chrome页面崩溃:喔唷 崩溃了(总结)

二、问题排查

 
   

JS部分:

export default { props: { detailId, }, data() { return { detail: { id: xxx, } } }, watch: { detailId: { immediate: true, handler () { this.getDetail() } } }, methods: { getDetail: { this.detail = {} axios.get('xxx', this.detailId).then(res => { // xxx this.detail = res.data.data }) } } } 
// ... mounted () { let time = 0 let detailList = [xxx, xxx] setInteval(() => { console.log(time, 'setInteval') this.detailId = this.detailId === detailList[0] ? detailList[1] : detailList[0] }, 200) } 

三、解决方案:

因为我这里只是想不显示遗留数据,所以其实只用把旧数据隐藏起来就行了,所以解决办法还是很多的。这里在请求过程中我给要隐藏的dom加了一个class,然后为这个class设置opacity(不透明度)为0:

 
  
xxx
.hide opacity 0 

再用之前的代码测试,再也没有出现警告与页面崩溃,到此解决了以上问题。

四、反思
本文虽然解决了当前浏览器崩溃的问题,但是因为时间有限,并没有深究:
为什么这种情况下v-if会导致回流耗时异常(为什么一般情况下的v-if并不会有警告)?
为什么JS操作导致回流超时多次后会导致浏览器崩溃?
一点思考:当一个问题重复出现的时候,就应该去尝试重现它,并且可以适当采用代码模拟人为操作,会大大提升效率。
 










情况二、谷歌浏览器更新了,发现网页全部打不开了。都显示:“喔唷 崩溃啦”。

  • 点击任何按钮,例如,设置,选项,历史记录等,也“喔唷 崩溃啦”
  • 卸载重装也无效
  • 解决方案

  • 找到 路径C:\Windows\System32\drivers\bd0001.sys
  • 删除(没有强制删除工具重命名也行,随便改个名字)
  • 重启电脑
  • chrome就正常了
  • 可能是注册列表被一些卫士类优化工具或杀毒软件优化了

    原因

最后为了方便大家的沟通与交流请加: 

请进交流:【IT博客技术分享群①】:https://jq..com/?_wv=1027&k=DceI0140

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208720.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午10:55
下一篇 2026年3月19日 上午10:55


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号