阻止安卓实体返回键后退的网页js实现


提供两种解决方法吧,都是网上来的,侵权删,毕竟我等只是搞后端的……

第一种方法:

// 阻止安卓实体键后退
// 页面载入时使用pushState插入一条历史记录
history.pushState(null, null, '#' );
window.addEventListener('popstate', function(event) {
// 点击回退时再向历史记录插入一条,以便阻止下一次点击回退
    history.pushState(null, null, '#' );
});

第二种直接贴链接吧:

H5中 JS 禁用安卓手机物理返回键 , 微信浏览器中也支持

========================================2017-11-10更新内容=====================================================

第一种方法的修改:我发现如果插入#的话,那么如果异常刷新就会进入项目的根路径,这个并不是我们所期望的,所以稍加修改成这样的

//拦截安卓回退按钮
history.pushState(null, null, location.href);
window.addEventListener('popstate', function(event) {
    history.pushState(null, null, location.href );
    //此处加入回退时你要执行的代码
}); 

其中location.href会自动获取到当前路径的url,添加到历史记录,然后每次点击都会先加入一次历史记录,然后再加入一次防止下次返回键触碰失效

好了,这样就能实现一种你想不让这个页面用户自己回退,或者返回键执行响应的方法,那么这个方法就很简单了。

ps:这个功能仅支持app中的,不带后退按钮的浏览器,也就是说页面中的返回按钮是我们自己写的事件那种。

优质内容筛选与推荐>>
1、EChart和G2比较
2、2-28 switch
3、(转)NGUI研究院之三种方式监听NGUI的事件方法
4、Python的getattr(),setattr(),delattr(),hasattr()
5、第一次作业


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn