当前位置:网站首页 / 建站知识 / 网站制作知识

history.back、history.go、history.forward使用方法

来源:未知时间:2015-03-16 19:02点击:

虽然javascript对搜索引擎的友好度不佳,但是网站制作的质量是离不开javascript的运用的。合理的运用javascript将有助于提高网站的用户体验度。今天我们要和大家介绍的是javascript里常用的history对象,从窗口被打开的那一刻算起,它保存着用户上网的历史记录。因为history是window对象的属性,所以,每个标签页,每个浏览器窗口乃至每个框架,都有与特定的window对象关联的history对象。出于安全方面的考虑,我们通常无法直接获取用户浏览过的URL。不过,借由history对象的history.back、history.forward、history.go,我们照样可以实现后退和前进。

一、history.back、history.forward的使用

顾名思义,history.back、history.forward这两个方法可以模仿浏览器的“后退"和“前进"按钮,来看下面的例子:

//后退一页

history.back():

//前进一页

history.forward():

二、history.go的使用

对于history.back、history.forward方法,我们还可以使用history.go来替代,history.go使用go()方法可以向后或向前跳转,实现在用户的历史记录中任意跳转,这个方法接受一个参数,表示向后或向前跳转的页面数的一个整数值。负数表示向后跳转(类似于单击浏览器的“后退"按钮),正数表示向前跳转(类似于单击浏览器的“前进"按钮)。来看下面的例子:

//后退一页

history.go(-1);

//前进一页

history.go(1);

//前进两页

history.go(2);

也可以给go()方法传递一个字符串参数,此时浏览器会跳转到历史记录中包含该字符串的第一个位置——可能后退,也可能前进,具体要看哪个位置最近。济南网站制作公司技术人员认为,如果历史记录中不包含该字符串,那么这个方法什么也不做,例如:

//跳转到最近的www.sdniuqi.com页面

history.go("www.sdniuqi.com");

除了上述几个方法外,history对象还有一个length属性,保存着历史记录的数量。这个数量包括所有历史记录,即所有向后和向前的记录。对于加载到窗口、标签页或框架中的第一个页面而言,history.length等于0。通过像下面这样测试该属性的值,可以确定用户是否一开始就打开了你的页面:

if(history.length==O){

//这应该是用户打开窗口后的第一个页面

}

一般情况下history对象并不常用,因为浏览器一般都有前进和后退功能,但在创建自定义的“后退"和“前进"按钮,以及检测当前页面是不是用户历史记录中的第一个页面时,还是必须使用它。