New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
页面刷新后,浏览器回退按钮点击多次无反应 #308
Comments
这个问题可以这么理解,一个SPA应用刷新后也是没办法后退的,为什么到了微前端这里就要求这种没办法实现的能力呢,或者说你这个硬伤什么场景下是已经解决了的,我比较好奇 |
我详细描述下,依次进入/baseroute/a > /baseroute/b > /baseroute/c > /baseroute/d,然后刷新页面,接着点浏览器回退按钮,点击后,导航地址未变化且视图未更新,实际应该是要返回到/baseroute/c。接着继续点击浏览器回退按钮,视图和导航地址依然未更新,多次点击后,会直接回到/baseroute/a的页面。 |
这里提供一个VueRouter的例子,
切换路由以后,再刷新页面,浏览器的回退按钮可以回到上一个视图且导航栏地址有更新 @yiludege 我看了其他的微前端框架,不会出现刷新后导致浏览器的后退按钮失效 |
我一直以为 SPA刷新了之前的路由就回不去了...,我好好看看 |
这个方案,子应用需要加逻辑,应用耦合会有点重。 |
是的,所以目前没有很好的办法 |
@yiludege 目录src/components/a.vue,加key的情况下,刷新后浏览器的后退正常,不加key的情况刷新后就会出现浏览器后退失效(和现在的情况一模一样)
测试步骤
如果使用不加key的情况,就会和之前的问题一样。
是不是可以用类似的方式,修复好这个问题。 |
是的,iframe内也会路由跳转,看来暂时没有解决方案了。 |
可能通过 bridge 告诉 iframe 内的应用做路由跳转,而不是直接改 src 可以解决? 同时宿也同步 push 一个 state |
这是个棘手的问题,使用到一半不知道后续怎么搞了 |
最新版的还是有问题 有进展了么? |
目前,我的解决是修改子应用的跳转代码,封装一个跳转方法: |
描述bug
wujie体验下来效果不错,接入成本也比较低,但是发现刷新页面以后,会导致回退按钮无法生效。
这个问题比较硬伤,是否有解决方案,有具体方案或者思路的话,可以帮忙解决。
参:#223
The text was updated successfully, but these errors were encountered: