我使用 HTML 和 JS 开发一个相对简单的电子商务类型网站,没有 React/框架。我们偶尔会收到客户(特别是使用移动 Safari 浏览器)的投诉,他们在滚动浏览我们的库存后,单击某个商品以在不同的 URL 上阅读有关该商品的更多信息,然后单击后退按钮,他们会返回到库存页面的顶部,而不是返回到之前滚动到的位置。
我自己没有经历过这种行为——它的工作方式正是这些客户想要的——并且从阅读有关
history.scrollRestoration
API 和围绕它的 StackOverflow 线程来看,这似乎是“在后退按钮上恢复滚动”应该是标准的默认行为(example)。
那么为什么它对某些人来说没有达到预期的效果呢?这真的是 Safari 和其他浏览器的默认行为吗?
iPhone 上的不同 Safari 用户在单击“后退”按钮后会遇到不同的行为 - 有些会恢复之前的滚动位置,有些会被带到页面顶部,为什么?
我不知道如何修复谷歌,但我确实有一个解决方案,不涉及关闭Java或其他一些不可接受的、太复杂的解决方案,普通人无法破译。
所以,这里是:转到设置,转到 safari,然后将搜索引擎更改为雅虎。