如何禁止回退

clipboard.png

web网站在微信端登录之后,由于是post 登录,之后点击回退按钮(安卓),会出现上图效果
我要怎样才能防止这种情况?

阅读 3.8k
3 个回答

javascript:window.history.forward(1);

浏览器理论上是不允许你禁止回退的。

但是有偏方,我说下思路:

history.pushState,可以添加浏览器的历史记录,你在进入页面的时候先pushState一个新页面(#hash),然后监听popstate事件。

页面修改了history,会触发popstate事件。触发时检测到url地址为刚进页面时的地址,就再pushState那个#hash。

浏览历史记录中会始终留下一个页面,后退按钮失效。

试下这个,有一点点用。


$(function(){
        history.pushState({page : 'state1'},'state','#state1');
        history.pushState({page : 'state2'},'state','#state2');

        window.onpopstate = function(event) {
            if (event.state.page === 'state1') {
                WeixinJSBridge.call('closeWindow');
            }
        };
    })
    
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题