个性化阅读
专注于IT技术分析

JS窗口历史对象history – JavaScript教程

点击下载

上一章JavaScript教程请查看:JS窗口位置对象location

在本教程中,你将了解JavaScript窗口历史对象history。

历史对象history

窗口对象的历史属性引用历史对象,它包含浏览器会话历史,当前框架或窗口中访问的所有页面的列表。

因为Window是一个全局对象,它位于作用域链的顶端,所以Window对象的属性就是Window.history可以在没有window.前缀的情况下访问,例如window.history.length可以写成history.length。

以下部分将向你展示如何获取用户的浏览历史信息。但是,出于安全原因,脚本不允许访问存储的url。

获取访问页面的数量

window.history.length属性可用于获取当前窗口的浏览器会话历史记录中的页面数,它还包括当前加载的页面。

你可以使用此属性来查找用户在当前浏览器会话期间访问了多少个页面,如下面的示例所示:

<script>
function getViews() {
    alert("你访问了 " + history.length + " 个web页面.");
}
</script>
 
<button type="button" onclick="getViews();">获取访问页面的数量</button>

你可以使用历史对象的back()方法,即History .back()来返回到会话历史中的上一页。这与单击浏览器的后退按钮相同。

<script>
function goBack() {
    window.history.back();
}
</script>
 
<button type="button" onclick="goBack();">后退</button>

如果你的浏览器的后退按钮是活动的,那么点击这个返回链接会让你后退一步。

翻到下一页

你可以使用历史对象的forward()方法,即History .forward()来转到会话历史的下一页。这与单击浏览器的前进按钮相同。

<script>
function goForward() {
    window.history.forward();
}
</script>
 
<button type="button" onclick="goForward();">翻到下一页</button>

如果你的浏览器的前进按钮是活动的,那么点击这个前进的链接带你前进了一步。

转到特定的页面

你还可以使用历史对象的go()方法从会话历史中加载特定的页面,即history.go(),该方法以整数作为参数,负整数在历史中向后移动,正整数在历史中向前移动。

window.history.go (2);//后退两页
window.history.go (1);//返回一页
window.history.go (0);//重新加载当前页面
window.history.go (1);//向前一页
window.history.go (2);//向前翻两页

提示:如果试图访问窗口历史中不存在的页面,那么back()、forward()和go()方法将什么也不做。

赞(0)
未经允许不得转载:srcmini » JS窗口历史对象history – JavaScript教程

评论 抢沙发

评论前必须登录!