首页/html5前端开发/html5 history 阻止浏览器后退

html5 history 阻止浏览器后退

发布-xiaoming | 浏览量-

history.pushState(null, null, window.location.href)

window.onpopstate = function (event) {
       history.go(1)
}
 
history对象保存着用户上网的历史记录,从窗口被打开的那一刻算起。由于安全方面的考虑,开发人员无法得到用户浏览器的URL,但借由用户访问过的页面列表,可以在不知道实际URL的情况下实现后退和前进。本文将详细介绍BOM中的history对象
 
length
 
history.length属性保存着历史记录的URL数量。初始时,该值为1。如果当前窗口先后访问了三个网址,history.length属性等于3
 
由于IE10+浏览器在初始时返回2,存在兼容性问题,所以该值并不常用
 
history.length // 初始时,该值为1
history.length // 访问三个网址后,该值为3
跳转方法
 
history对象提供了一系列方法,允许在浏览历史之间移动,包括go()、back()和forward()
 
go()
 
使用go()方法可以在用户的历史记录中任意跳转。这个方法接收一个参数,表示向后或向前跳转的页面数的一个整数值。负数表示向后跳转(类似于后退按钮),正数表示向前跳转(类似于前进按钮)
 
//后退一页
history.go(-1)
//前进一页
history.go(1);
//前进两页
history.go(2);
 
go()方法无参数时,相当于history.go(0),可以刷新当前页面
 
//刷新当前页面
history.go();
//刷新当前页面
history.go(0);
 
back()
 
back()方法用于模仿浏览器的后退按钮,相当于history.go(-1)
 
forward()
 
forward()方法用于模仿浏览器的前进按钮,相当于history.go(1)
 
//后退一页
history.back()
//前进一页
history.forward()
如果移动的位置超出了访问历史的边界,以上三个方法并不报错,而是静默失败

原文地址:http://www.35ui.cn/post/20170809632.html

标签HTML5historybackforwardlength

上一条: background-position用法详解
下一条: js replace全部替换

或许你还对下面的文章感兴趣