场景
mobile web 页面,有一个满屏的弹窗,点击浏览器返回按钮,关闭弹窗,会返回上一个页面。
需求:
当点击返回或者前进的时候页面不做跳转。
想法
方法一:在 popstate 事件触发后,能否阻止浏览器的跳转行为?
方法二:如果可以监听到浏览器是触发 back 或者 forward, 在popstate事件中做一下相反的back 或者 forward 就好了.
场景
mobile web 页面,有一个满屏的弹窗,点击浏览器返回按钮,关闭弹窗,会返回上一个页面。
需求:
当点击返回或者前进的时候页面不做跳转。
想法
方法一:在 popstate 事件触发后,能否阻止浏览器的跳转行为?
方法二:如果可以监听到浏览器是触发 back 或者 forward, 在popstate事件中做一下相反的back 或者 forward 就好了.
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
方法1,阻止默认不可能,你顶多在页面beforeunload 的时候弹个框提醒一下。
方法2,有点可行。你可以通过初始化页面的document.referrer 等信息知道来源页,然后再进行跳转。你要监听是否是
back 或者 forward
来的,没那个可能吧。页面一刷新,你的js都被回收了。