有没有办法确保我的html页面始终不会';t使用javascript在页面重新加载时向上滚动(即window.scrollTo(0,0))

有没有办法确保我的html页面始终不会';t使用javascript在页面重新加载时向上滚动(即window.scrollTo(0,0)),javascript,jquery,Javascript,Jquery,我正在寻找一种解决方案,我的页面不应该总是在重新加载页面后滚动到顶部 例如,我在我网站的产品列表页面中,我选择了一些过滤器,因为页面重新加载和页面加载页面会滚动到顶部 有没有办法在页面加载时停止页面滚动到顶部 我能想到的一个解决方案是读取当前滚动位置并在页面重新加载时设置滚动位置 有没有其他使用javascript的解决方案,这样我就可以避免这种行为。您可以使用AJAX加载过滤后的数据,并将其附加到页面中。离开页面时,您不必担心卷轴会重置,因为您根本不会离开页面。您只需要添加新数据(或删除旧数据

我正在寻找一种解决方案,我的页面不应该总是在重新加载页面后滚动到顶部

例如,我在我网站的产品列表页面中,我选择了一些过滤器,因为页面重新加载和页面加载页面会滚动到顶部

有没有办法在页面加载时停止页面滚动到顶部

我能想到的一个解决方案是读取当前滚动位置并在页面重新加载时设置滚动位置


有没有其他使用javascript的解决方案,这样我就可以避免这种行为。

您可以使用AJAX加载过滤后的数据,并将其附加到页面中。离开页面时,您不必担心卷轴会重置,因为您根本不会离开页面。您只需要添加新数据(或删除旧数据)。不过,这可能需要对代码进行返工


如果您对AJAX解决方案感兴趣,您可以阅读和。

如果您想在重新加载页面之前精确滚动到最后一个滚动位置,我认为唯一的解决方案是将
window.pageYOffset
存储在类似于本地/会话存储的位置

如果您只想滚动到产品列表的顶部,可以执行以下操作:

constproductslist=document.querySelector(“.js产品列表”);
const productsListOffsetTop=productsList.offsetTop;
滚动到(0,productsListOffsetTop)

读取当前滚动位置并在页面重新加载时设置滚动位置。这是我使用的方法,我认为这是一个好方法。谢谢你的回答。在我的场景中,我不能使用AJAX,因为它需要大量的返工。我想用post back实现这一点。