history对象是window对象的一个属性,它包含了最近访问过的网址列表。在代码中,history对象最常使用的方法是前进和回退页面,其功能类似于浏览器中的“前进”和“后退”按钮。
history对象只有一个属性length
,它返回当前history保存的URL个数,也就是最近访问过的页面的个数。history对象有三个方法,如下表所示:
方法 | 描述 |
back() | 返回到用户刚刚访问过的页面,于浏览器的“后退”按钮功能相同 |
forward() | 前进到浏览器访问历史中的前一个页面,于浏览器的“前进”按钮功能相同 |
go(n) | 跳转到相对于当前页面的第n个URL表示的页面。正值表示前进,负值表示后退。go(-1)的功能等价于back() |
History对象length属性
history对象有唯一的一个length
属性,用于得到浏览器访问历史记录中的URL数量。例如:
<script type="text/javascript"> document.write(history.length); </script>
上面的代码的输出结果为1。
history.go(-1)的应用
我们在某些页面中通常需要为用户提供一个按钮或超链接来返回上一个访问的页面。用户可以通过浏览器的“后退”按钮来实现页面回退。我们也可以为用户提供一个按钮或超链接,让用户点击了该按钮或超链接后返回上一个页面,代码如下:
<a href="javascript:window.history.go(-1);return false;" />返回上一页</a>
history.go(-1)
的作用相当于history.back()
,它们都可以使页面导航到前一个浏览的页面。注意,使用超链接来完成页面回退操作时,如上面的代码,最好在执行完window.history.go(-1);
语句后,将返回设置为false
。因为某些浏览器在执行完onclick()
事件后,还会去执行href链接,将其设置为return false;
,可以阻止超链接继续执行。