在返回按钮后重新加载页面,但保持滚动位置

时间:2019-01-10 02:10:55

标签: php jquery mysql

我正在编写一个简单的PHP Ajax CRUD。 在edit.php中编辑了一行数据后,我用window.history.back();按下了“返回”按钮。

数据已在MySQL上更新,但主列表(返回后)未更新。 我想我应该使用reload(),但是如果我使用reload(),则每当页面重新加载时,滚动位置就会跳到顶部,这对用户来说不太方便。

我搜索了一些将滚动位置存储到本地存储中的解决方案,然后在重新加载后再调用它,但是我不知道从哪里开始。有这个主意吗?

2 个答案:

答案 0 :(得分:1)

使用GET参数保存滚动的位置,同时仍然刷新:

scroll

并将其添加到脚本的开头(以便您可以检查是否设置了// get scroll parameter var scrollFromGet = location.search.match(/scroll=(\d+)/); // set scroll if there is any if(scrollFromGet[1]) document.documentElement.scrollTop = scrollFromGet[1]; 参数并滚动到该位置):

{{1}}

答案 1 :(得分:0)

我想出了解决方案。 使用window.history.back()时的页面;未更新。然后,每当通过window.history.back();向后导航时,我们都需要重新加载它。 否则,它将仅加载一次。

以下是解决方法:LINK

因此,通过自行重新加载,大多数浏览器将保持与以前相同的滚动y。所以我很好走

相关问题