js禁止浏览器的回退事件


Posted in Javascript onApril 20, 2017

直接来个终极方案:

查找了好多资料才找到的,这种方式,可以消除 后退的所有动作。包括 键盘、鼠标手势等产生的后退动作。

<script language="javascript">
 //防止页面后退
 history.pushState(null, null, document.URL);
 window.addEventListener('popstate', function () {
   history.pushState(null, null, document.URL);
 });
</script>

现在,我们项目中就使用了这种方式。在常用浏览器中,都可以禁用了后退。

具体实例:

$(function(){
 if (window.history && window.history.pushState) {
   history.pushState(null, null, document.URL);
   window.addEventListener('popstate', forbidBack);
 }
})
/**
 * 禁止回退按钮
 */
function forbidBack(){
 appUtils.mobileConfirm("确定放弃重置密码?",function(){//yes
  window.removeEventListener('popstate',forbidBack);
  muiwindow.muiwebview({"url":"login.html"});
 },function(){//no
  //防止页面后退
  history.pushState(null, null, document.URL);
 });
}

PS:关于addEventListener与removeEventListener的注意事项可参考:addEventListener()与removeEventListener()解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
跟随鼠标旋转的文字
Nov 30 Javascript
用js生产批量批处理执行命令
Jul 28 Javascript
javaScript 关闭浏览器 (不弹出提示框)
Jan 31 Javascript
jquery ajax提交整个表单元素的快捷办法
Mar 27 Javascript
js借助ActiveXObject实现创建文件
Sep 29 Javascript
jQuery简单动画变换效果实例分析
Jul 04 Javascript
js 性能优化之算法和流程控制
Feb 15 Javascript
Vue 仿百度搜索功能实现代码
Feb 16 Javascript
js+canvas实现验证码功能
Sep 21 Javascript
vue父组件异步获取数据传给子组件的方法
Jul 26 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
Jul 10 Javascript
vue从零实现一个消息通知组件的方法详解
Mar 16 Javascript
vue-cli入门之项目结构分析
Apr 20 #Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
Apr 20 #Javascript
详解Vue使用 vue-cli 搭建项目
Apr 20 #Javascript
解决AngualrJS页面刷新导致异常显示问题
Apr 20 #Javascript
Vue.js实现模拟微信朋友圈开发demo
Apr 20 #Javascript
AngularJS 单选框及多选框的双向动态绑定
Apr 20 #Javascript
Vue如何引入远程JS文件
Apr 20 #Javascript
You might like
有关于PHP中常见数据类型的汇总分享
2014/01/06 PHP
php微信公众号开发之快递查询
2018/10/20 PHP
PHP如何开启Opcache功能提升程序处理效率
2020/04/27 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
javascript 写类方式之六
2009/07/05 Javascript
Javascript学习笔记5 类和对象
2010/01/11 Javascript
关于二级域名下使用一级域名下的COOKIE的问题
2011/11/07 Javascript
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
浅谈javascript中的instanceof和typeof
2015/02/27 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
json格式的javascript对象用法分析
2016/07/04 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
JavaScript 栈的详解及实例代码
2017/01/22 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
Angularjs实现多图片上传预览功能
2018/07/18 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
python实现的文件夹清理程序分享
2014/11/22 Python
使用python实现个性化词云的方法
2017/06/16 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
Python离线安装PIL 模块的方法
2019/01/08 Python
python__new__内置静态方法使用解析
2020/01/07 Python
Python生成词云的实现代码
2020/01/14 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
2020/02/28 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
草莓巧克力:Shari’s Berries
2017/02/07 全球购物
2014年物流工作总结
2014/11/25 职场文书
教师个人年度总结
2015/02/11 职场文书
军训决心书范文
2015/09/22 职场文书
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers