Html5页面返回机制解决方案

需要处理的返回场景:

1.正常的a->b->c

2.页面上的按钮触发需要登陆

3.页面跳转需要登陆

4.页面上的可修改的部分(如选择地址,地址页面本身也是可以增删改查的)

整体的原则是原路来原路回

第一个场景不需要考虑,history.go(-1)就ok,第二个场景登陆成功之后使用history.go(-1),第三个场景复杂点需要在登陆成功之后先修改当前页面的url,然后再做一次reload,当然也可以使用localtion.replace,对于第四个场景,难点在于选择完地址之后需要回来主页面且把相应的参数添加到主页面中,参数放入localstorage,使用replaceStatus替换当前url。

还有一种比较优雅的方式,就是把登陆等做成弹出框的形式,这样可以完美的避开各种返回问题。组件形式开发。

原文地址:https://www.cnblogs.com/guxuelong/p/5207103.html