moonreplace 发表于 2012-12-10 15:35:49

在JS中你所应该知道的History Object

<div id="cnblogs_post_body">  近来手头一项目,大量用到history对象,故此结合自身的应用对些对象做一个小结。
  http://nextlevel.msn.com/artist/russellsimmons/episode,当你在modern browser中往下拖动scroll bar的时候,你会发现address bar中的内容是相应做出改变的,会换成相应的section名字,如biography, timeline, articles.你会发现页面并没有刷新,那browser会如何做出这种行为的呢,我在前面中所提到到的是modrn browser,我想你心内也许会有一想法,是不是html5的内容呢,诚如你所料,真的是html5所提供的新东西,既然是html5的内容和这篇文章的标题有何关联呢?其实它是在history对象中添加了一个新的方法, pushState().
  可能又有同学会问,IE中是否会支持此方法,很遗憾,微软秉承了它一贯的让开发人员相当有存在感的优良传统,它是不支持的,你必须去用别的方法来兼容它。这里还有一关键,那就是要页面不刷新,所以我们用到了IE中的hashObject,如下所示http://nextlevel.msn.com/artist/russellsimmons#episode,至于是如何兼容这两种方式的,以至于我们在两类浏览器中如何都可以浏览,这是另外一个话题,我并不想在此展开。闲话少讲,让我们来切入主题。
History是什么?

DOM中的window对象提供了一个可以访问浏览器历史的一个对象,那就是我们今天的主角history。它提供了一系列的方法和属性来完成它的使命,我也会在下面来展开。同时在HTML5中你也可以来领略一下它是如何来操作history栈的。
乐游History

如何完成浏览器中的页面切换内,我们有back(), forward()和go()方法,至于它们是干什么的?望名生义,我想你也会猜到的。
向前走,向后走

<div class="cnblogs_Highlighter">window.history.back()
页: [1]
查看完整版本: 在JS中你所应该知道的History Object