首页 > 代码库 > 使用JavaScript的history对象来实现页面前进后退(go/back/forward)。

使用JavaScript的history对象来实现页面前进后退(go/back/forward)。

我们都知道JavaScript有history对象,主要是用来记录浏览器窗口的浏览记录。但是,JS脚本是不允许访问到这个记录里面的内容(隐私)。

常见的用法是:

history.back();//返回上一页,相当于浏览器上后退功能。

history.forward();//去到下一页,相当于浏览器的前进功能。

histoty.go(int);//去到指定的浏览历史记录页面。int是正的时候,就是向前int个历史记录,如果没有那么多,就没有行为。int是负数的时候那么就会向后

退int个记录,如果没有那么多的时候,也没有行为。0我试了下是没有任何行为。

 

注意:以上3个方法并不像你去BAIDU出来的结果解释的那样会刷新页面,这是不正确的。经过我去stackoverflow查看,同时也参考了《JavaScript权威指南》,

都表示并不是刷新从而载入新的文档。《JavaScript权威指南》中明确的说道:现代浏览器应用可以不通过载入新的文档而动态的改变自身的内容。所以,如果是

想要实现history.back()或者histoty.go(-1)后刷新页面状态,很抱歉,仅仅用history对象是完成不了任务的。

 

经过实验,JS 的location对象在使用history.back()之后,并不是指history.back()这个页面,而是调用history.back()这个方法的时候的页面。所以想通过简单的

location.reaload()来刷新页面也是行不通的。同理,其他的几个JS刷新方法也是差不多的情况。

 

使用JavaScript的history对象来实现页面前进后退(go/back/forward)。