history 对象保存着用户上网的历史记录,一打开窗口就会开始记录。history 对象是 window 对象的属性,所以每一个 window 对象都有一个 history 对象与它对应。
使用 go() 方法可以在用户的历史记录中任意跳转,可以向前,也可以向后。
go(num) :
名称 | 说明 |
---|---|
num | 负数表示向后跳转(后退),整数表示向前跳转(前进) |
history.go(-1);//后退一页
history.go(1);//前进一页
history.go(2);//前进两页
还可以传递字符串,go(str):
名称 | 说明 |
---|---|
str | 跳转到历史记录中包含该字符串的第一个记录,可能后退,也可能前进,具体要看哪一个位置离得最近。如果没有找到,就什么都不做。 |
history.go(“xxx.com”);//跳转到最近的 xxx.com
也可以使用简写的方法:
- back(),后退
- forward(),前进
history 对象有一个 length 属性,它保存着所有历史记录的数量。对于加载到窗口、标签页或者框架中的第一个页面来说,length 为 0。因此可以这样测试用户是否一开始就加载了我们的应用页面:
if (history.length == 0){
...
}
注意: 当页面的 URL 发生改变时,会生成一条历史记录。在 IE8 以及更高版本、Opera、Firefox、Safari3 以及更高版本、还有 Chrome 中,当 URL 中的 hash 发生变化时,也会生成一条历史记录。