做一个 PDF 阅读器之后,我重新理解了「位置」 永久链接

做一个 PDF 阅读器之后,我重新理解了「位置」

做一个 PDF 阅读器之后,我重新理解了「位置」 封面

阅读位置不是页码,而是一段连续体验的锚点。

“打开侧栏不能让正文跳一下”看起来是一条微小的要求,真正实现时却牵动了布局、缩放、滚动和状态恢复。

1页码不等于位置

同一页里也有阅读进度。只记录页码,恢复后仍然可能让人失去上下文。

2变化前先保存锚点

布局变化之前,保存视口中心所对应的文档坐标;布局完成以后,再把这个坐标映射回新的视口。

3两条交互路径

侧栏开关是离散变化,分隔线拖拽是连续变化。它们应该共享“保持锚点”的原则,但不应该共享完全相同的更新频率。

来自开放网络的回应

引用、喜欢、转发和站外回复会通过 Webmention 回到这里。

正在读取开放网络回应…

评论

评论还没开放。配好下面四项后,这里才会出现评论框。

打开 Giscus,安装到一个已开启 Discussions 的公开仓库,把仓库、仓库 ID、分类、分类 ID 写入 .env.local 和 GitHub Actions Variables:GISCUS_REPO、GISCUS_REPO_ID、GISCUS_CATEGORY、GISCUS_CATEGORY_ID。

目录