代码之家  ›  专栏  ›  技术社区  ›  aefxx

Javascript:如何使用锚定标记重新加载站点?

  •  24
  • aefxx  · 技术社区  · 16 年前

    以此代码段为例:

    window.location.href = 'mysite.htm#images';
    

    已经在网站上了 mysite.htm 并触发重新加载通过 location.href

    我需要一个机制来真正重新加载页面。有什么想法吗?

    PS:我尝试过location的其他方法,但没有一种能奏效:(

    编辑
    不要挂起文件类型 htm . 我需要它的动态网站以及。

    6 回复  |  直到 16 年前
        1
  •  58
  •   alemjerus    16 年前

    将指定的URL设置到位置后,发出 window.location.reload(true) . 这将强制浏览器重新加载页面。

        2
  •  10
  •   Andy E    16 年前

    // Use a timestamp to make sure the page is always reloaded
    window.location.href = 'mysite.htm?r='+(+new Date())+'#images';
    
        3
  •  5
  •   ZZY    11 年前

    当新URL指向不同页面时不起作用 ,至少在我的Chrome v40上。

    例如,当新URL仅添加锚定时,它工作正常:

    var redirectToURL = '/questions/2319004/javascript-how-to-truly-reload-a-site-with-an-anchor-tag#answer-28621360';
    window.location.href = redirectToURL;
    window.location.reload(true);
    

    但当它指向另一个页面时,用户在重新加载后仍将停留在当前页面上(分批运行以下代码,两次之间无延迟 location.href= location.reload ):

    var redirectToURL = 'http://stackoverflow.com';
    window.location.href = redirectToURL;
    window.location.reload(true);
    

    在这种情况下,请卸下 作品因此,我的解决方法是检查新URL是否位于同一页面上:

    var urlParser = document.createElement('a');
    urlParser.href = redirectToURL;
    if (urlParser.origin + urlParser.pathname === location.origin + location.pathname) {
        window.location.reload(true);
    }
    

    在Chrome和Safari上测试过,还没有试过IE。如果在任何主要浏览器上都不起作用,请告诉我。

        4
  •  3
  •   Matchu    16 年前

    您可能是一个骗子,并附加一个随机查询字符串,重定向到“mysite.htm?random=289954034#images”。

    但如果这是一个静态页面,如 .htm

        5
  •  1
  •   Cameron    16 年前

    window.location.href = 'mysite.htm?';

    编辑:

        6
  •  0
  •   SharpC Paul    5 年前

    POST 如果这是最后一个请求:

    window.location.reload(true)
    

    GET this :

    <a href="javascript:window.location.href=window.location.href">Refresh page</a>
    
        7
  •  -2
  •   Ramon Maldio    11 年前

    适用于大多数Mozilla浏览器

    <a title="Reset this Document" href="javascript:void()" onclick="window.location.href='#'"><font color="red">Reset</font></a>
    

    window.location.href='#'
    or window.location.href=''
    

    推荐文章