最近做需求时出现的问题:
点击“意向国家和地区”对应的“请选择”,出现一个弹框,这个弹框可以选择国家和地区的弹框,弹框占据了一整个页面,当用户不想选择也就是不点击“确认”的时候,想按“返回”就直接返回到前一个页面 了,用户体验感差。
出现这样问题的原因:是因为弹框在当前页面,点击“返回”的时候,的确是返回上一页。
解决办法:
法一:把弹框写为二级页面,但这样改动的地方比较多,比较麻烦。
法二:在弹框显示的时候,JavaScript监听浏览器的返回事件,监听之后需要做两件事:禁止浏览器返回事件和关闭弹框。在弹框关闭时启用浏览器返回事件。
查了很多资料怎么禁用浏览器返回事件。最终在这篇文章中找到了方法,这篇讲了三种方法,我试验之后,自己采用了终极方案。
1、回退后,产生一个前进事件。
这种方式,不算是一个满意的解决方式。因为用户能体验到,界面的后退,前进。体验不好。