JavaScript BOM对象-History浏览历史记录对象

 2016年04月01日    152     声明


History用户浏览历史记录对象,它提供了对浏览器会话历史操作的接口。即:在标签或框架中加载过的页面。可以通过window.history或直接使用history来引用该对象。


  1. History对象
  2. History对象属性与方法

1. History对象

history对象保存着用户的上网历史,从用户窗口的时候就开始记录。historywindow对象的属性,所以每个浏览器窗口、标签、框架都有自己的history对象,并与其自己的window对象关联。

var historyObj = window.history;

history记录用户访问的页面列表,出于安全考虑该对象并没有提供对页面URL的访问接口。但通过go()back()forward()方法,可以实现任意用户访问页面的跳转。

history.back();  // 返回用户访问的上一个页面
history.go(-1);     // 等价于history.back() 方法
history.go(2);   // 前进两个页面
history.forward();  // 前进一个页面
history.go('itbilu.com');   // 跳转到最近访问的'itbilu.com'页面


2. History对象属性与方法

History对象没有从其它对象继承属性或方法,其本身也只有与历史记录相关的几个属性和方法。

2.1 History对象中的属性

History.length

表示用户历史会话页面的数量。当用户从新的标签页或框架载入页面其值为“1”,每访问一个页面该值增加“1”。

window.history.length;  // 2

我们一般会通过length属性判断是否可以完成到指定历史页面的跳转:

if (history.length>1){
  history.go(-1);
}


History.state

该属性用于查看history堆栈的顶部状态,但该属性并不常用。

window.history.state;  // null


2.2 History对象中的方法

History.back()

跳转到上一个会话页面,相当于history.go(-1)


History.forward()

跳转到下一个会话页面,相当于history.go(1)


History.go()

跳转到指定的会话页面,该方法接受一个整型或字符串类型的值。如:

history.go(-1);
history.go('itbilu.com');