阻止浏览器回退

$(document).ready(function(e) {
var counter = 0;
if (window.history && window.history.pushState) {
$(window).on(‘popstate‘, function () {
alert(1111)
history.back(-1)
window.history.pushState(‘forward‘, null, ‘#‘);
window.history.forward(1);
alert("不可回退");
});
}

window.history.pushState(‘forward‘, null, ‘#‘); //在IE中必须得有这两行
window.history.forward(1);
});

【以下没有进行验证】

input type="button" name="back" value="重新填写" onclick="javascript:history.back(-1);"/>
history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面
history.go(-1):也是返回当前页的上一页,不过表单里的数据全部还在

////////////

javascript做页面后退常使用的方法是

window.history.back();

这样确实可以做到后退的功能,但是项目中,常常并不只是后退就能完成需求,往往需要在后退的同时,刷新后退的页面信息,比如后退到首页同时刷新首页的最新数据,这样的需求通过上面这种方法就没法满足了,为了实现这个需求,我们需要使用到

document.referrer

这个方法可以取到上一个页面的具体路径,我们通过这个方法,再结合JS的跳转函数

window.location.href

就可以实现后退并且刷新的效果的,完整代码如下:

window.location.href=document.referrer;

时间: 2024-08-10 23:15:28

阻止浏览器回退的相关文章

JavaScript停止冒泡和阻止浏览器默认行为

事件兼容 function myfn(e){ var evt = e ? e:window.event; } js停止冒泡 function myfn(e){ window.event? window.event.cancelBubble = true : e.stopPropagation(); } js阻止默认行为 function myfn(e){ window.event? window.event.returnValue = false : e.preventDefault(); }

js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )

在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”. 1..停止事件冒泡 JavaScript代码 //如果提供了事件对象,则这是一个非IE浏览器if ( e && e.stopPropagation )//因此它支持W3C的stopPropagation()方法e.stopPropagation(); else//否则,我们需要使用IE的方式来取消事件冒泡 window.event.cancelBubble = true;return fal

五,事件对象、阻止浏览器默认动作、阻止事件冒泡

在jquery里边: $().bind(‘click’,function(evt){ evt.preventDefault(); evt.stopPropagation(); }); preventDefault()方法是jquery的方法,名字与js底层代码的名字一致而已. 并且其有做浏览器兼容处理(阻止浏览器默认行为) stopPropagation()方法是jquery的方法,名字与js底层代码的名字一致. 其有做浏览器兼容处理(阻止事件冒泡) 解析: $().bind(‘click’,f

JS 阻止浏览器默认行为和冒泡事件

JS 冒泡事件 首先讲解一下js中preventDefault和stopPropagation两个方法的区别: preventDefault方法的起什么作用呢?我们知道比如<a href="http://www.baidu.com">百度</a>,这是html中最基础的东西,起的作用就是点击百度链接到http://www.baidu.com,这是属于<a>标签的默认行为,而preventDefault方法就是可以阻止它的默认行为的发生而发生其他的事情

2.阻止浏览器的默认行为

在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到"停止事件冒泡"和"阻止浏览器默认行为". 1..停止事件冒泡 JavaScript代码 //如果提供了事件对象,则这是一个非IE浏览器if ( e && e.stopPropagation )//因此它支持W3C的stopPropagation()方法e.stopPropagation(); else//否则,我们需要使用IE的方式来取消事件冒泡 window.event.cancelBubb

一行代码,阻止浏览器自动填充密码

使用Chrome.Firefox,还有360和搜狗等浏览器,在某个网站进行提交表单的操作时,浏览器会提示是否保存密码 如果选择了保存密码,之后在浏览这个网站的任何一个有密码输入框的的表单时,浏览器会把上次保存过的账号和密码自动填入到表单中,输入框的背景变成黄色 只是登录页面自动填充的话倒没有什么问题,但是网站任何一个地方的表单都会自动填充,这就会带来很多不必要的麻烦,比如注册页面:如果表单涉及到资金方面的数据提交,可能会给用户不安全的感觉.       如果你是一个前端工程师,可能会想屏蔽浏览器

JQuery 阻止js事件冒泡 阻止浏览器默认操作

//阻止事件冒泡 event.stopPropagation(); //阻止浏览器默认操作 event.preventDefault(); 代码不一定能执行,写给自己看的. 事件冒泡: 1 <a href="javascript:alert('啦啦啦');"> 2 <ul onclick="alert('德玛西亚');"> 3 <li onclick="alert('大盖伦');"></li> 4

js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)

在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到"停止事件冒泡"和"阻止浏览器默认行为". 1..停止事件冒泡 JavaScript代码 //如果提供了事件对象,则这是一个非IE浏览器if ( e && e.stopPropagation )//因此它支持W3C的stopPropagation()方法e.stopPropagation(); else//否则,我们需要使用IE的方式来取消事件冒泡 window.event.cancelBubb

理解阻止浏览器默认事件和事件冒泡cancelBubble

一.阻止浏览器默认事件 1.先举个例子说什么是 浏览器的默认事件 : 比如有一个输入框,当我按下字母a,就会在输入框显示字母a.就是浏览器本该发生的事情.小孩子一出生就会汲取母乳一样的道理,这些都是先天,默认好的了. 2.看个demo,阻止浏览器默认的右键弹出菜单,而且弹出自己自定义的菜单.代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style type=&