使用Javascript防止刷新’跳转’

我注意到如果你在一个页面上并且你向下滚动了一下,如果你刷新页面,大多数浏览器会让你跳回到你的位置。 有什么办法可以防止这种情况吗?

我看了两个选项,并且在Webkit / Firefox中都没有一致。

window.scrollTo(0, 1); $('html, body').animate({ scrollTop: 0 }, 0); 

有任何想法吗?

您可以查看Google搜索结果以获取示例。

我认为没有理由为什么这不适用于所有浏览器,似乎对我有效(只有一个window.onloadfunction,使用更多,可能会出现问题)?

 window.onload = function() { scrollTo(0,0); } 

要在单击后退按钮时使其工作,可能是这样的:

   //content here  

适合我:

 // Scroll top bro window.onload = function() { setTimeout (function () { scrollTo(0,0); }, 0); } 

在Chrome上,即使您将scrollTop强制为0,它也会在第一次滚动事件后跳转。

你应该将滚动绑定到这个:

 $(window).on('beforeunload', function() { $(window).scrollTop(0); }); 

因此浏览器被欺骗以相信它在刷新之前就开始了。

像下面这样的东西适合我,创建一些可以聚焦的项目并将其聚焦到滚动页面。

在这种情况下,它将在刷新页面后滚动回顶部。

在最新的IE / FF / Chrome上测试过。

         
top
content

问候,

只是为了更新@josetapadas所说的内容,对于最新版本,最好使用unload函数而不是beforeunload这将是

 $(window).on('unload', function() { $(window).scrollTop(0); });