all
2023年06月08日
history.length
history.length 是一个只读属性,返回当前 session
中的 history
个数,包含当前页面在内。举个例子,对于新开一个 tab
加载的页面当前属性返回值 1
语法
const length = history.length;
history.scrollRestoration
history.scrollRestoration 为 History
的接口—— 滚动恢复属性 允许 web
应用程序在历史导航上显式地设置默认滚动恢复行为
语法
const scrollRestore = history.scrollRestoration
返回值
-
scrollRestore: auto: 将恢复用户已滚动到的页面上的位置
-
scrollRestore: manual: 未还原页上的位置。用户必须手动滚动到该位置
场景
-
场景一: 防止自动恢复页面位置
if (history.scrollRestoration) {
history.scrollRestoration = "manual";
}
history.state
history.state 返回在 history
栈顶的 任意 值的拷贝。 通过这种方式可以查看 state
值,不必等待 popstate
事件发生后再查看。
语法
let currentState = history.state;
注意
如果不进行下面两种类型的调用,state
的值将会是 null
- pushState()
- replaceState()