【问题标题】:Add a fragment to the URL without causing a redirect?将片段添加到 URL 而不导致重定向?
【发布时间】:2011-05-15 23:42:40
【问题描述】:

有没有一种方法可以在不重定向的情况下将哈希 # 添加到我的 URL 中?

【问题讨论】:

    标签: javascript jquery hash


    【解决方案1】:
    window.location.hash = 'something';
    

    这只是普通的 JavaScript。

    您的评论...

    你好,我真正需要的是只添加哈希......像这样:window.location.hash = '#'; 但这样什么都没有添加。

    试试这个...

    window.location = '#';
    

    另外,不要忘记window.location.replace() 方法。

    【讨论】:

    • 嗨,我真正需要的是只添加哈希......像这样:window.location.hash = '#';但是这样什么都没有添加..
    【解决方案2】:

    对于纯 HTML,无需 JavaScript:

    <a href="#something">Add '#something' to URL</a>
    

    或者,从字面上理解您的问题,只需在 URL 中添加“#”:

    <a href="#">Add '#' to URL</a>
    

    【讨论】:

    • 不正确,因为您需要单击链接来更改哈希..所以您错过了触发“点击”的 js 部分..
    • @Juan 为什么我们需要“触发”点击?最初的问题只是询问我们如何将# 添加到 URL。实际上,按照我的建议单击链接将实现这一点。不需要 JS。
    • 您的回答描述了如何创建一个链接,当单击该链接时,会在 url 中添加一个片段。问题询问如何添加片段。所以你的答案是缺少动作,即“点击”
    • 很公平,我可以看到问题是这样解释的。希望有人仍然会发现此选项对他们的用例有用。
    【解决方案3】:
    window.location.hash = 'whatever';
    

    【讨论】:

    • # 前缀不是必需的。
    • @alex:啊,我不太确定它是否需要。 window.location.hash 返回带有 # 前缀的哈希,所以我认为它是。感谢您的澄清。 :)
    • 不用担心 - 它让你想知道为什么它总是返回它。
    【解决方案4】:

    试试这个

    var URL = "scratch.mit.edu/projects";
    var mainURL = window.location.pathname;
    
    if (mainURL == URL) {
        mainURL += ( mainURL.match( /[\?]/g ) ? '&' : '#' ) + '_bypasssharerestrictions_';
        console.log(mainURL)
    }
    

    【讨论】:

      猜你喜欢
      • 2021-02-11
      • 2015-10-16
      • 1970-01-01
      • 2012-03-18
      • 2012-04-08
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      相关资源
      最近更新 更多