2_2 history对象
history对象:表示当前窗口首次使用以来用户的导航历史记录
因为history是 window的属性 所以每个window都有自己的history对象
处于安全考虑 这个对象不会暴露用户访问过的URL 但可以通过它在不知道实际URL的情况下 前进 和 后退
1)导航
一 go()方法
go() 方法可以在用户历史记录中沿任何方向导航 (可以前进和后退)
. 接收一个为整数的参数 表示前进或后退多少不 负值表示后退
go(2) 前进2页
go(-2) 后退2页
---------------------------------------------------
在旧版本浏览器中 它的参数可以是一个字符串
这种情况下 浏览器会导航到历史中包含该字符串的第一个位置 (最接近的位置 可能涉及后退 也 可能涉及 前进)
如果历史中没有匹配的项 则该方法什么也不做
---------------------------------------------------
go()有两个简写的方法:
back() 模拟了浏览器后退
forward() 模拟了浏览器前进
---------------------------------------------------
二 length属性
表示历史记录中有少个条目 反映了历史记录的数量 包括可以前进和后退的页面
对于窗口或标签页中加载的第一个页面 history.length = 1.
应用:判断浏览器的起点是不是你的页面
if (history.length == 1){'这是用户窗口的第一个页面'}
if (history.length ==1 ) {
alert('是第一个页面')
} else {
alert('不是第一个页面')
}
注意点
如果URL发生变化 则会在历史记录中生成一个新条目
2009以后发布的浏览器,改变URL的散列值 也会在历史记录中生成一个新条目
这个行为通常被但应用框架用来模拟前进和后退 目的是不会因导航而触发页面刷新