【问题标题】:Jump to last scroll position when dynamic Javascript content has loaded加载动态 Javascript 内容后跳转到最后一个滚动位置
【发布时间】:2019-08-05 19:03:32
【问题描述】:

我有一个很长的(y 轴)页面,上面有很多通过 JavaScript 动态添加的内容。当页面加载时,它的高度几乎是 200px,当它完成 JavaScript 初始化时,它的高度可能高达屏幕高度的 20 倍。

在正常使用中,用户可以使用浏览器的重新加载按钮或快捷方式重新加载页面。重新加载后,当浏览器尝试跳转到最后一个滚动位置并因此降落在开始位置时,页面尚未达到全高。只有客户端 Javascript 知道内容高度和滚动位置。

我希望它滚动到最后一个滚动位置当我的 JavaScript 负责加载内容时,而不必将用户的最后滚动位置或内容高度存储在任何地方(例如本地存储、cookie、URL , 在服务器上等)。

这有可能吗?

【问题讨论】:

    标签: javascript html vertical-scrolling


    【解决方案1】:

    当用户点击离开页面时,将window.pageYOffset 的值存储在本地存储中。然后,一旦他们返回页面,加载该值(如果存在),然后在所有元素都初始化后,使用window.scrollTo(0, pageYOffset)。

    无法以某种方式绕过存储此信息,因为它不是页面或浏览器的一部分。在本地存储中存储信息可以让您的 JavaScript 保留有关用户的信息,特别是在这种情况下,他们已经滚动到页面上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-07
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 1970-01-01
      相关资源
      最近更新 更多