【问题标题】:Javascript redirect to hash from base urlJavascript 从基本 url 重定向到哈希
【发布时间】:2017-04-25 19:51:48
【问题描述】:

以下不起作用(我只是重新加载):

            location.host += "/#settings";
            location.reload();

我如何告诉 JS 导航到基于现有 url 的 URL 并完全重新加载该页面(而不仅仅是附加哈希)?

这也不起作用:

             window.location.href = "/#settings";

我的基本网址是"http://localhost:sss/pricing"

我想通过重新加载重定向到"http://localhost:sss/#settings"

我不想在任何地方输入localhost

即使这给了我settings#lol

            var desiredBase = window.location.protocol + "//" + window.location.host + "/";
            var path = '#lol';
            window.location.href = desiredBase + path;
            location.reload();

【问题讨论】:

标签: javascript html


【解决方案1】:

又一次编辑,从这里窃取了基本 url 代码:How to get base url with jquery or javascript?

<html>

  <body>
    <h1>Hello Plunker!</h1>
    <script>
      (function(){
        var getUrl = window.location;
        var desiredBase = getUrl.protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];
        var path = `#lol`;      
        window.location.href = desiredBase + path; 
        location.reload();
      })();
    </script>
  </body>

</html>

正在在附加后在本地重新加载页面。试试看。

编辑:我看到了没有使用 href 获取基本 url 的问题,正在处理它,等等。

【讨论】:

  • 你假设我想在代码中设置我的基本 url - 我没有。
  • @SB2055 一切都好,没想到你这么认为。也许另一个人认为我对他投了反对票。我不确定我是否在关注。是否要检测当前 url 并将 #whatever 附加到它?
  • 感谢您继续提供帮助。我已经用一个不起作用的例子更新了这个问题。
  • @SB2055:编辑后试试看,似乎对我有用。
  • 再次更新问题,当我尝试这个时会发生什么。
【解决方案2】:

试试这个

location.href += "/#settings";
location.reload();

【讨论】:

    【解决方案3】:

    你可以试试这样的:

    location.hash = "settings";

    这会在 URL 中的“#”之后设置部分

    然后执行:location.reload(); 它应该可以解决问题

    让我知道它是否有效

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-28
      • 2014-08-14
      • 1970-01-01
      • 2021-04-08
      • 2014-10-25
      • 2013-04-04
      • 1970-01-01
      相关资源
      最近更新 更多