前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript(16)

JavaScript(16)

原创
作者头像
Qwe7
发布2022-04-08 11:13:08
1880
发布2022-04-08 11:13:08
举报
文章被收录于专栏:网络收集

四、窗口历史

平常在使用浏览器当中,我们都会经常使用浏览器中的“前进”和“后退”。其实浏览器都会帮我们保存浏览的历史(即窗口历史)。那么在JavaScript中,我们该如何来操作这些窗口历史呢?

在JavaScript中,我们使用window对象中的history对象进行访问窗口历史。很多人对“window对象中的history对象”这一句不太理解,其实“对象里面也可以有子对象”的。看过JSON教程的读者都知道,我们可以在一个对象里面再定义一个子对象。

我们在JavaScript进阶教程的“JavaScript对象”这一节再详细为大家探讨。

既然提到对象,那肯定少不了还是按照“对象的属性”和“对象的方法”这两个套路来给大家讲解了。

1、history对象属性

在JavaScript中,hisotry对象常用的属性如下:

history对象属性

代码语言:javascript
复制
属性    说明
current    当前窗口的URL
next    历史列表中的下一个URL
previous    历史列表中的前一个URL
length    历史列表的长度,用于判断列表中的入口数目

这些history对象属性比较少用,大家看一下就可以了。

2、history对象方法

在JavaScript中,hisotry对象常用的方法如下:

history对象方法

代码语言:javascript
复制
方法    说明
go()    进入指定的网页
back()    返回上一页
forward()    进入下一页

我们常见的“上一页”与“下一页”实现代码如下:

语法:

代码语言:javascript
复制

<a href="javascript:window.history.forward();">下一页</a>

<a href="javascript:window.history.back();">上一页</a>

注意一下,这种“上一页”与“下一页”是针对浏览器历史记录而言,不能用来制作类似绿叶学习网那种分页特效。两者是完全不同的概念!

分页效果

当然,我们还可以使用hisotry.go()方法指定要访问的历史记录。若参数为正数,则向前移动;若参数为负数,则向后移动,例如:

代码语言:javascript
复制


<a href="javascript:window.history.go(-1);">向后退1次</a>

<a href="javascript:window.history.back(2);">向后前进2次</a>

使用history.length属性能够访问history数组的长度,可以很容易地转移到列表的末尾,例如:

代码语言:javascript
复制
<a href="javascript:window.history.length-1;">末尾</a>

在JavaScript中,操作窗口历史语法很简单,也不是那么常用。一般情况下,在404页面中,为了用户体验,往往会有一个提供“返回上一页”的选项,这其中就用到了下面这种语法:

代码语言:javascript
复制
<a href="javascript:window.history.go(-1);">返回上一页</a>

由于窗口历史必须在实际环境才会有效,即使提供在线测试也不会有效果,请大家自行在本地测试。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档