繁体   English   中英

如何在刷新时使用JavaScript / jQuery滚动到页面顶部并排除特定术语?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM