BeaconCMS/beacon

Preserve scroll position

开放

#123 创建于 2023年1月31日

 (3 条评论) (1 个反应) (0 位负责人)Elixir (120 个派生)batch import
enhancementgood first issue

仓库指标

星标
 (1,194 个星标)
PR 合并指标
 (30 天内没有已合并 PR)

描述

This is a problem in LiveView but we can solve it on our own. Pages currently don't preserve scroll position. See:

https://user-images.githubusercontent.com/18524/215903473-99d47362-fac5-495d-b7ad-3071c45a5b61.mp4

I solved this a few years ago in ember-router-scroll: https://github.com/DockYard/ember-router-scroll/blob/master/addon/services/router-scroll.js

We'll need to pull in some JS resources to implement in Beacon. Two cases need to be accounted for:

  1. preserving scroll position when navigating to a new page then back to the original
  2. preserving scroll position when reloading a page (hard refresh also respects position)
  3. if opening a new tab to the same URL or navigating forward from A, to B, and pushing a new instance of A to the history stack it shouldn't inherit the scroll position of the original visit of A but if I go back in history it should

贡献者指南