history对象保存着用户上网的历史记录,从窗口被打开的那一刻起。因为history是window对象的属性,因此每个浏览器窗口,每个标签页乃至每个框架,都有自己的history对象与特定的window对象关联,出于安全性考虑,开发人员无法获取用户浏览过的URL。 不过,借由用户访问过的页面列表,同样可以在不知道URL的情况下进行后退和前进。
如下:
history.go(-1); //后退到上一个页面
history.go(1); //前进到下一个页面
history.go(2); //前进两页
也可以通过go()方法传递一个字符串参数,此时浏览器会跳转到历史记录里包含该字符串的第一个位置——可能后退,也可能前进,具体看哪个地址离的更近。如果不包含该字符串,那么这个方法什么也不做。
如下:
//跳转到最近的wrox.com页面
history.go("wrox.com");
//跳转到最近的nczonline.net页面
history.go("nczonline.net");
另外,还可以通过back()和forward()来代替go()。顾名思义,这两个方法可以模仿浏览器的前进和后退按钮。
如下:
history.back(); //后退一页
history.forward(); //前进一页
除了上述的方法之外,history还有一个length属性,保存着历史记录的数量。这个数量包括所有历史记录,即所有向后和向前的记录。对于加载到窗口,标签页或者框架的第一个页面而言,history.length等于0.通过以下操作,可以确定用户是否一开始就打开了你的页面。
if(history.length == 0){
alert(这是用户打开窗口的第一个页面);
}
这就是js之中BOM的history对象。