跳到主要内容

all

2023年06月08日
柏拉文
越努力,越幸运

history.length


history.length 是一个只读属性,返回当前 session 中的 history 个数,包含当前页面在内。举个例子,对于新开一个 tab 加载的页面当前属性返回值 1

语法

const length = history.length;

history.scrollRestoration


history.scrollRestorationHistory 的接口—— 滚动恢复属性 允许 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()