Chrome / Safari - 在页面加载时window.scroll

时间:2015-02-12 07:58:59

标签: javascript jquery

我正在开展一个项目,我的客户要求在顶部加载页面。这是要求

  

每当您刷新页面时,无论您在何处浏览,页面都必须刷新页面顶部。

为了实现这一点,我在文档加载时使用了两个函数window.scroll(0,0)scrollTop(0)

 jQuery(document).ready(function(e){
  window.scroll(0,0);
 });

 jQuery(document).ready(function(e){
  jQuery("body,html,document").scrollTop(0);
 });

除了在Chrome / Safari中,我使用上述两个代码中的任何一个在浏览器中获得了所需的结果。
这就是我在Chrome / Safari中遇到的情况。假设我在页面的底部,然后如果我刷新它,那么我按以下顺序获取事件。

  1. 页面加载到我刷新时的位置。 (底部 - 页面加载)。
  2. 然后上面提到的功能工作,让我到页面顶部。 (仍在加载)。
  3. 最后,当页面完全加载时,它会让我回到刷新页面时的位置,即在底部。
  4. 您可以在this page处查看。

    我还尝试将超时功能设为。

     jQuery(document).ready(function(e){
      setTimeout(function() {window.scrollTo(0, 0);},500)
     });
    

    现在,这适用于一些页面但不是全部。所以我正在寻找比我更好的方式。 谢谢。

1 个答案:

答案 0 :(得分:0)

你应该使用这样的东西:

$(document).ready(function(){
    $(this).scrollTop(0);
});

修改:Chrome / safari:

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