浏览器的页面的回退有以下几种方式
- List item
浏览器导航栏回退按钮 - js回退
history.back();后退到上一级历史页面
history.forward(); //前进一个页面
history.go(1);//比如go(1)相当于forward(),go(-1)相当于back()。 - 关于回退
回退是根据浏览器的缓存返回到相应的页面,是不重新加载页面的。
history也是不能清除的,关闭网页和浏览器会自动清除。 - 屏蔽的方法
在网上找了很多方法,常见的有以下几种
(1) 屏蔽Backspace
(2) 页面重加载
(3) 监听回退事件
在这里我只介绍第三种,因为我测试过是比较好的方法
其中document.URL获取到的是当前页面的url。//防止页面后退 history.pushState(null, null, document.URL); window.addEventListener('popstate', function () { history.pushState(null, null, document.URL); });
window.addEventListener(‘popstate’, function(){})
可以监听到所有的回退事件,监听到之后做出回应。
history.pushState(state,title,url);
state:一个与指定网址相关的状态对象,popstate事件触发时,该对象会传入回调函数。如果不需要这个对 象,此处可以填null。
title:新页面的标题,但是所有浏览器目前都忽略这个值,因此这里可以填null。
url:新的网址,必须与当前页面处在同一个域。浏览器的地址栏将显示这个网址。
当url=document.URL就会一直停留在当前页,不管怎么回退都无效。