阻止安卓实体返回键后退的网页js实现
2024-08-29 09:51:19
提供两种解决方法吧,都是网上来的,侵权删,毕竟我等只是搞后端的……
第一种方法:
// 阻止安卓实体键后退
// 页面载入时使用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中的,不带后退按钮的浏览器,也就是说页面中的返回按钮是我们自己写的事件那种。
最新文章
- angular中的$q.defer()服务异步处理
- 数据结构图文解析之:AVL树详解及C++模板实现
- #winhec# 开发人员刷屏看点 (视频)
- python 中文编码问题
- CodeIgnitor 创建admin和其他目录,前后端分离,很巧妙的方式,网上查找其他的都不是使用这种方式实现的。
- Linux下jdk的配置
- bzoj1382: [Baltic2001]Mars Maps
- OpenJudge 2754 八皇后
- linux 内核---------董昊 ( Robin Dong ) and OenHan
- Borg Maze poj 3026
- VS Code 项目编译
- Apache JMeter--网站自动测试与性能测评
- xamarin.android 绑定百度地图SDK遇到的问题
- javaSE基础之 ArrayList的底层简单实现
- java第七次作业
- Java编程 “提高性能” 应尽力做到
- LeetCode 531. Longly Pixel I (孤独的像素之一) $
- JDK的安装以及配置
- 【嵌入式开发】 ARM 汇编 (指令分类 | 伪指令 | 协处理器访问指令)
- asp.net core 的 razor pages 如何使用ajax调用后台方法