history对象及路由插件原理

本文详细介绍了HTML5中的History对象属性和方法,包括length、state、scrollRestoration,以及go、forward方法。此外,重点讲解了HTML5新增的pushState和replaceState方法在路由插件中的应用,探讨了Vue Router的hash模式和history模式的原理,强调了history模式在现代浏览器中的优势和兼容性问题。
摘要由CSDN通过智能技术生成

history对象及路由插件原理

History对象最初设计用来表示窗口的浏览历史,但是,出于隐私方面的原因,History对象不再允许脚本访问已经访问过的实际URL。虽然,我们不清楚历史URL,但是,我们可以通过 History 对象的内置属性方法进行跳转。

一、对象属性

1.length

该属性代表着浏览器历史列表中的URL数量。初始值为1,如果当前窗口先后访问了两个网址,那该属性的值变为2。

history.length // 1
// 访问了一个新的URL
history.length // 2

2.state

HTML5新增属性,返回一个表示历史堆栈顶部的状态的值,这是一种可以不必等待popstate 事件而查看状态的方式。

3.scrollRestoration

允许Web应用程序在历史导航上显式地设置默认滚动恢复行为。此属性可以是自动的(auto)或者手动的(manual)。

二、对象方法

1.go方法

go方法是History对象三个方法中的核心方法,通过go方法可以完美替代其他的两个方法。该方法接收一个可选参数,这个参数可以是number也可以是URL

当使用number参数时,页面会跳转到 History 的URL列表的相对位置。比如

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值