jquery禁用浏览器后退按钮

使用Jquery 禁用浏览器的back 和 next 按钮:

有时为了防止用户乱了访问顺序,不得不禁掉浏览器的前进后退按钮

jQuery(document).ready(function () {
    if (window.history && window.history.pushState) {
        $(window).on('popstate', function () {
           // 当点击浏览器的 后退和前进按钮 时才会被触发, 
            window.history.pushState('forward', null, ''); 
            window.history.forward(1);
        });
    }
    //在IE中必须得有这两行
    window.history.pushState('forward', null, '');  
    window.history.forward(1);
});

(推荐学习:jQuery 教程手册

这段代码主要使用js的 window.history 对象;

举个例子:

假如当前页面的url是:http://localhost:28713/SBNext/index.aspx

执行:window.history.pushState('forward', null, 'badu.aspx');

结果: 在浏览器历史记录中添加一条记录http://localhost:28713/SBNext/index.aspx。当前页面的url变成http://localhost:28713/SBNext/badu.aspx ,但是不会刷新页面,也不会检查url是否正确。 这时如果点击 浏览器的back按钮会回退到http://localhost:28713/SBNext/index.aspx页面, 还是当前页面。 所以这就是上面禁用back按钮 的原理。

Image placeholder
前端答疑
未设置
  14人点赞

没有讨论,发表一下自己的看法吧

推荐文章
jquery不兼容低版本ie浏览器怎么办?

jquery不兼容低版本ie浏览器怎么办?1、可以使用原生JS或者低版本的Jquery1.x版本。因为Jquery从2.x版本开始已经不再进行IE低版本(IE6、IE7、IE8)的兼容性处理。如果需要

jquery如何判断是否是ie浏览器?

jquery如何判断是否是ie浏览器?在写页面的时候,会遇到浏览器兼容问题,在这个浏览器中可以使用,但在其他浏览器中却不能很好的显示。以下就是判断浏览器的方法,从而更好的区分代码,使得页面正常浏览。f

jquery判断浏览器的内核

jquery判断浏览器的内核判断浏览器内核可以使用$.browser属性。$.browser属性在jQuery1.9已经被移除。用于返回用户当前使用的浏览器的相关信息。不建议使用该属性来检测浏览器,因

jquery和jquery ui的区别?

jquery和jqueryui的区别?区别有:1、jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。 2、jQueryUI则是在jQuery的基础上,利用jQuery的扩展性,

jquery怎么禁用a标签?

jquery怎么禁用a标签?1、使用attr()方法删除a标签的链接,并重新设置click事件。$("a").each(function(){ $(this).css("cursor","defaul

jQuery判断input是否被禁用

jQuery判断input是否被禁用判断input是否被禁用,可用的方法有:●is(":disabled")●prop("disabled")●attr("disabled") first secon

在浏览器中使用Vue.js裁剪图像

在本教程中,我们将探讨如何在浏览器中使用JavaScript库来操作图片,为服务器上的存储做准备,并在Web程序中使用。我们将使用Vue.js而不是原生JavaScript来完成此操作。要了本文想要完

使用 jQuery 触发 Vue 事件

时间一长老是忘记这行代码的写法,今天特地记上一笔,方便今后查阅 js文件如下document.save.dispatchEvent(newEvent('无此事件'))//触发不存在的事件不会报错 do

jquery和vue的区别是什么?

jquery和vue的区别是什么?●jquery是直接操作DOM;使用选择器($)选取DOM对象,对其进行赋值、取值、事件绑定等操作;和原生的js区别只在于可以更方便的选取和操作DOM对象;数据和界面

vuejs和jquery的区别是什么?

vuejs和jquery的区别1、jQuery首先要获取到dom对象,然后对dom对象进行进行值的修改等操作2、Vue是首先把值和js对象进行绑定,然后修改js对象的值,Vue框架就会自动把dom的值

vue和jquery之间有什么区别?

首先我们来了解一下jquery和vue是什么?Vue是什么?Vue.js是一个前端JavaScript框架,用于构建用户界面。它是开源的。当使用其他JavaScript库时,它还可以用作集成工具。它本

vue与jquery的区别是什么?

vue与jquery的区别是什么?vue和jquey的对比:jQuery是使用选择器($)选取DOM对象,对其进行赋值、取值、事件绑定等操作,其实和原生的HTML的区别只在于可以更方便的选取和操作DO

安防摄像头网页无插件直播流媒体服务器EasyNVR在IE浏览器下的 pointer-events- none前端兼容性调试

背景说明由于互联网的飞速发展,传统安防摄像头的视频监控直播与互联网直播相结合是大势所趋。传统安防的直播大多在一个局域网内,在播放的客户端上也是有所限制,一般都需要OCXWeb插件进行直播。对于安防监控

innerHTML与jquery里的html()区别?

innerHTML与jquery里的html()区别?●html()可以设置tbody、tr这些只读标签,而innerHTML在低版本IE下不行;jQuery的html()做了些容错处理,原生的Dom

jquery ajaxError()方法怎么用?

jqueryajaxError()方法怎么用?ajaxError()方法规定AJAX请求失败时运行的函数。注意:自jQuery版本1.8起,该方法只被附加到文档。语法:$(document).ajax

jquery中deferred对象是什么?

jquery中deferred对象是什么?Deferred是JQuery的一个延迟对象,意思是函数延迟到某个点才开始执行,改变执行状态的方法有两个(成功:resolve和失败:reject),分别对应

jQuery LigerUI是什么?

jQueryLigerUI是什么?LigerUI是基于jQuery的UI框架,其核心设计目标是快速开发、使用简单、功能强大、轻量级、易扩展。简单而又强大,致力于快速打造Web前端界面解决方案,可以应用

jquery serialize()中文乱码

jqueryform表单.serialize()序列化后中文乱码问题原因及解决原因:.serialize()自动调用了encodeURIComponent方法将数据编码了解决方法:调用decodeUR

jquery中slider是什么?

slider(滑块)是jqueryUI中的一个小插件。jQueryUI滑块(Slider)插件允许通过滑块进行选择。有各种不同的选项,比如多个手柄和范围。手柄可通过鼠标或箭头按键进行移动。滑块部件(S

jquery序列化serialize()方法时中文乱码怎么解决?

原因:.serialize()自动调用了encodeURIComponent方法将数据编码了解决方法:调用decodeURIComponent(XXX,true);将数据解码如:varparams=j

css3支持哪些浏览器?

CSS3带来众多全新的设计体验,但有一个问题值得考虑:浏览器对CSS3特性的兼容情况如何?因为页面最终离不开用浏览器来渲染,并不是所有浏览器都完全支持CSS3的特性。有时花时间写的效果只能在特定的浏览

css不同浏览器兼容性问题怎么解决?

css不同浏览器兼容性问题的解决方案1.浏览器CSS样式初始化由于每个浏览器的css默认样式不尽相同,所以最简单有效的方式就是对其进行初始化,相信很多朋友都写过这样的代码,在所有CSS开始前,先把ma

浏览器字体大小怎么调?

浏览器调整字体大小的方法1、打开浏览器2、打开浏览器菜单,点击设置3、切换到界面设置4、选择自定义字体大小5、更改字体字号,在右边可以看到字体的变化6、重启浏览器,更改即可生效

IE浏览器页面显示不全怎么办?

快速修复浏览器方案(鉴于系统环境不同→请活学活用以下方法→根据具体情况决定做哪些)1、打开浏览器,点“工具”→“管理加载项”那里禁用所有可疑插件,或者你能准确知道没问题的保留。然后→工具→INTERN

浏览器控制台打不开怎么办

浏览器控制台打不开怎么办浏览器控制台打不开可能是网页禁用了f12按键和右键网页的功能,解决方法是使用浏览器的功能按钮打开。不同浏览器略有不同,但基本都能在菜单中找到。1、chrome打开方式:点击右上