认识Javascript中History对象并用其访问历史记录

History对象表示窗口的浏览历史,由Window对象的history属性引用该窗口的History对象。数组

History对象至关于一个容器,它存储了客户端最近访问网页URL的列表信息。
浏览器


1.使用JavaScript访问历史记录url

History对象容许使用length属性来读取列表中url的个数,并能够调用back(),forward()和go()方法访问数组中的url。
spa

back():返回到前一个url对象

forward():访问下一个urlip

go():能够根据不一样参数访问可访问的url字符串


若是参数为一个整数,则表示在History对象的历史列表中的位置距离,该方法会使浏览器访问这个指定距离处的URL,参数值若为正数,浏览器就会在历史列表中向前移动;若参数值为负数,浏览器就会在历史列表中向后移动。io

例如,history.go(-1)就等价于history.back(),而history.go(1)等价于history.forward(),history.go(0)等价于刷新页面。容器


若是参数为一个字符串,则History对象可以从浏览历史中检索包含该字符串的url,并访问第一个检索到的URL引用

History对象的这3个方法与浏览器中自备的【后退】和【向前】按钮功能同样。


2.使用JavaScriopt访问帧的历史记录

每一个窗口都有本身的历史记录,即全部的Window对象都会拥有本身的History对象,并经过独立的history属性引用。当打开新建窗口时,因为历史记录为空,因此对应的方法都是无效的。通常经过如下方法对不一样的帧进行控制:(frames数组中参数n表示帧的下标)

frames[n].history.back();

frames[n].history.forward();

frames[n].history.go(m);