[英]How to scroll to top of page with JavaScript/jQuery on refresh and exclude specific term?
我当前正在使用此脚本:
window.onbeforeunload=function(){window.scrollTo(0,0);}
编辑:触发页面刷新时,我想将页面滚动到顶部。 问题是,当用户单击a href
元素时,脚本也正在运行/执行a href
元素是来自表示下载服务器(位于外部主机上)的子域的下载链接-假设downloadserver.mydomain.com
<a href="xxx.mydomain.com/filetodownload.extension">
当用户单击具有特定子域的此类链接时,是否可以排除触发?
谢谢。
window.onbeforeunload=function(){
if (window.location.href.indexOf('xxx.mydomain.com') >= 0)
window.scrollTo(0,0);
}
如果只希望页面刷新后始终将页面滚动到顶部,则可以在页面文档准备好后运行以下代码:
window.scrollTo(0,0);
因此,在body
关闭之前,可以通过script
标签运行它,或者在有或没有jQuery的情况下等待文档准备就绪。
我不知道这是一个正确的答案,但对您有用
1.只需要一个全局变量说isRefreshed
。
var isRefreshed = true;
2.具有锚点监听器
$(document).on('click', 'a', function(){
if($(this).attr('href') !== "your current page url"){
isRefreshed = false; //i.e clicked another url
}
});
3,最后你的scroller
window.onbeforeunload=function(){
if(isRefreshed) window.scrollTo(0,0); //calls only when refreshed
}
这是一个简单的技巧。 希望这可以帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.