码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-02-04 13:11:07      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:

我们都知道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)。

标签:

原文地址:http://my.oschina.net/zerodeng/blog/375121

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!