我正在编写一个简单的PHP Ajax CRUD。 在edit.php中编辑了一行数据后,我用window.history.back();按下了“返回”按钮。
数据已在MySQL上更新,但主列表(返回后)未更新。 我想我应该使用reload(),但是如果我使用reload(),则每当页面重新加载时,滚动位置就会跳到顶部,这对用户来说不太方便。
我搜索了一些将滚动位置存储到本地存储中的解决方案,然后在重新加载后再调用它,但是我不知道从哪里开始。有这个主意吗?
答案 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。所以我很好走