zoukankan      html  css  js  c++  java
  • 阻止安卓实体返回键后退的网页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中的,不带后退按钮的浏览器,也就是说页面中的返回按钮是我们自己写的事件那种。

  • 相关阅读:
    (五)Redis在项目中应用
    股票收益最大问题
    (四)redigo
    (三)go-sql-driver
    为什么TCP要3次握手?4次挥手?
    分支预测
    事务隔离级别说明
    剑指offer解题思路锦集11-20题
    C++中的二义性问题
    memcached Vs redis
  • 原文地址:https://www.cnblogs.com/hellxz/p/7764932.html
Copyright © 2011-2022 走看看