重新加载浏览器不会将页面重置为顶部
Reload browser does not reset page to top
我想当你点击刷新时,浏览器应该将你的页面重置为顶部?我使用的是js
手风琴,当我刷新时,它会关闭手风琴,但不会将页面重新定位到顶部。
http://imip.rvadv.com/index3.html
好吧,正如你所看到的,它没有:)
但你可以用一些简单的jQuery:来强制它
$(document).ready(function(){
$(this).scrollTop(0);
});
编辑:
在IE 9、FF 12和Chrome 20.0中,唯一可行的方法是:
$(document).ready(function(){
$('html').animate({scrollTop:0}, 1);
$('body').animate({scrollTop:0}, 1);
});
奇怪的是,当我尝试在不应用任何动画(即$('html').scrollTop(0)
)的情况下直接滚动元素时,它没有起作用。由于持续时间设置为1毫秒,因此用户不会注意到任何内容。
如果有人能阐明这一点,我会很高兴——为什么滚动只适用于动画?
如果以上都不起作用,请尝试此操作。这将欺骗浏览器,使其在刷新前认为它位于文档顶部。
$(window).on('beforeunload', function() {
$(window).scrollTop(0);
});
为了方便起见,浏览器将向下滚动到重新加载之前的位置。它只对过长的页面有用。
你可以这样"修复":
window.onload = function() {document.body.scrollTop = document.documentElement.scrollTop = 0;};
根据comonpyke的最后评论和自己的测试,我推荐
$(document).ready(function(){
$('html, body').scrollTop(0);
$(window).on('load', function() {
setTimeout(function(){
$('html, body').scrollTop(0);
}, 0);
});
});
- 第一个滚动顶部提前滚动
- 文档准备好后
- 第二次滚动顶部滚动较晚
- 加载后事件
- 超时后
- 加载后事件
相关文章:
- 数据表 AJAX 筛选器重新加载数据
- 如何在新加载的页面上执行(下拉)操作
- 根据上一个选项卡的选择器重新加载选项卡
- 获得“中止,因为不接受 0”并使用反应热加载器重新加载整页
- 咕噜咕噜的手表:实时加载重新加载落后 1 步....
- 如何为新加载的元素提供JQuery UI工具提示
- 如何在新加载的页面上使用相同的JavaScript代码(通过重定向)
- 使用PHP或Javascript检测页面刷新或新加载
- 砌体重新加载&reloadItems不起作用
- 如何使javascript计时器重新加载
- 如何获取新加载的图像's width / naturalWidth
- 列出并调用firefox扩展中新加载的选项卡中的js函数
- 如何设置滚动到顶部刷新/加载?(只支持AngularJs或Js,不支持Jquery)
- 旋转器重新加载图像似乎在覆盖层后面
- AJAX调用后,新加载的CSS选择器对jQuery.ech()不可用
- Angular注入了长内容的页面会让整个页面在页面顶部下方加载,切断了页面标题
- jQuery砌体-砌体重新加载后调用方法
- 如何向所有查看器重新加载页面
- 如何打开子浏览器窗口,然后在新加载的子浏览器页面上执行脚本以单击其中的链接
- 如何选择新加载 html 的元素