猿问

如何禁止浏览器 的跳转行为?

场景

mobile web 页面,有一个满屏的弹窗,点击浏览器返回按钮,关闭弹窗,会返回上一个页面。

需求:

当点击返回或者前进的时候页面不做跳转。

想法

方法一:在 popstate 事件触发后,能否阻止浏览器的跳转行为?

方法二:如果可以监听到浏览器是触发 back 或者 forward, 在popstate事件中做一下相反的back 或者 forward 就好了. 


慕勒3428872
浏览 3687回答 1
1回答

森林海

方法1,阻止默认不可能,你顶多在页面beforeunload 的时候弹个框提醒一下。方法2,有点可行。你可以通过初始化页面的document.referrer 等信息知道来源页,然后再进行跳转。你要监听是否是back 或者 forward来的,没那个可能吧。页面一刷新,你的js都被回收了。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答