使用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); });