GithubHelp home page GithubHelp logo

无界 保活模式 一段时间不操作页面 #子应用出现边框且页面卡死,而且WujieVue.bus.$emit也无法触达子应用。 about wujie HOT 12 CLOSED

ZhangYC193 avatar ZhangYC193 commented on June 3, 2024
无界 保活模式 一段时间不操作页面 #子应用出现边框且页面卡死,而且WujieVue.bus.$emit也无法触达子应用。

from wujie.

Comments (12)

TianJianJun0727 avatar TianJianJun0727 commented on June 3, 2024

同样的问题,卡死

from wujie.

ZhangYC193 avatar ZhangYC193 commented on June 3, 2024

@

同样的问题,卡死

嗯, 我这边是一段时间不访问就会复现

from wujie.

ZhangYC193 avatar ZhangYC193 commented on June 3, 2024

775bfa040cab36c1edf1dbe0b96df3d
上面是没问题的沙箱打印
2111a487fe9ad2fbac9cfbcfd08dbad
看着好像是$wujie丢失了。
fc8c68e3aaaa66d55473d91a893a870

from wujie.

ZhangYC193 avatar ZhangYC193 commented on June 3, 2024

@yiludege 大佬有空看看吧

from wujie.

TianJianJun0727 avatar TianJianJun0727 commented on June 3, 2024

我发现我这边出问题时,iframe指向的url发生了变化

from wujie.

ZhangYC193 avatar ZhangYC193 commented on June 3, 2024

我发现我这边出问题时,iframe指向的url发生了变化

留个微信,具体交流下

from wujie.

yiludege avatar yiludege commented on June 3, 2024

个人猜测:
1、发生这种现象的时候子应用的沙箱iframe发生了跳转,导致正常的沙箱被销毁了,iframe沙箱变成了一个正常的iframe
2、子应用的dom依然存在主应用上,所以可以正常看到子应用,但是点击的时候,绑定的事件回调都在iframe沙箱里面,而iframe沙箱已经被销毁了,所以表现为子应用怎么点击都没有反应
3、验证我这个猜测可以通过当子应用卡死后,查看一下子应用的iframe沙箱,如果这个iframe沙箱既有正常的dom也有js,也就是沙箱被摧毁了

解决的办法:
如果上面的猜测是正确的,那么发生这种现象一般是vite打包框架引起的,代码或者工具里面有window.locaiton.href的操作导致子应用iframe的被跳走了,需要找出来是哪里引起的iframe跳走了

from wujie.

yiludege avatar yiludege commented on June 3, 2024

官网的demo已经挂了一整天了,还没有出现这种现象,应该是后续的业务代码或者vite的工具、插件引入的问题?

from wujie.

ZhangYC193 avatar ZhangYC193 commented on June 3, 2024

个人猜测: 1、发生这种现象的时候子应用的沙箱iframe发生了跳转,导致正常的沙箱被销毁了,iframe沙箱变成了一个正常的iframe 2、子应用的dom依然存在主应用上,所以可以正常看到子应用,但是点击的时候,绑定的事件回调都在iframe沙箱里面,而iframe沙箱已经被销毁了,所以表现为子应用怎么点击都没有反应 3、验证我这个猜测可以通过当子应用卡死后,查看一下子应用的iframe沙箱,如果这个iframe沙箱既有正常的dom也有js,也就是沙箱被摧毁了

解决的办法: 如果上面的猜测是正确的,那么发生这种现象一般是vite打包框架引起的,代码或者工具里面有window.locaiton.href的操作导致子应用iframe的被跳走了,需要找出来是哪里引起的iframe跳走了

我中午在复现一下。看下iframe的结构

from wujie.

ZhangYC193 avatar ZhangYC193 commented on June 3, 2024

个人猜测: 1、发生这种现象的时候子应用的沙箱iframe发生了跳转,导致正常的沙箱被销毁了,iframe沙箱变成了一个正常的iframe 2、子应用的dom依然存在主应用上,所以可以正常看到子应用,但是点击的时候,绑定的事件回调都在iframe沙箱里面,而iframe沙箱已经被销毁了,所以表现为子应用怎么点击都没有反应 3、验证我这个猜测可以通过当子应用卡死后,查看一下子应用的iframe沙箱,如果这个iframe沙箱既有正常的dom也有js,也就是沙箱被摧毁了

解决的办法: 如果上面的猜测是正确的,那么发生这种现象一般是vite打包框架引起的,代码或者工具里面有window.locaiton.href的操作导致子应用iframe的被跳走了,需要找出来是哪里引起的iframe跳走了

9e3659c11a28b35c03279e4a44c50e8
上面是正确的iframe
e5c7a536f3beb42a451d828c7fa622e
这个是出问题之后的
主应用子应用都是在本地跑的,window.locaiton.href子应用全局搜了下没有发现

from wujie.

yiludege avatar yiludege commented on June 3, 2024

这个问题大概率是电脑息屏或者长时间页面不动导致websocket 断联,vite发现websocket断联会触发子应用刷新,导致子应用iframe被 window.location.href = xxxx 跳转走了,子应用沙箱随即被销毁了

目前没有很好的办法解决,除非能保证长时间websocket不被断开,但是一般发生这样的情况都是在dev环境,线上是没有vite的websocket的,所以如果dev发生这样的问题可能只能刷新一下页面了

from wujie.

yiludege avatar yiludege commented on June 3, 2024

后续如果有新的问题打开

from wujie.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.