【问题标题】:Hiding the hash location in JavaScript在 JavaScript 中隐藏哈希位置
【发布时间】:2016-03-26 03:29:49
【问题描述】:

我有一个带有链接的页面,该链接打开一个带有id="modal-i(其中i 是任意数字)的模式链接到带有href="#modal-i" 的锚标记。这很好用,您单击链接,将弹出关联的模态,然后单击带有href="#" 的链接时,模态消失。

我想知道是否有办法隐藏哈希位置但保持模式打开?基本上保持一切正常工作,只需将哈希隐藏在 URL 中。

我知道弹出模式的唯一原因是因为哈希值在 URL 中,但我仍然想知道这是否可能,因为它会使所有内容变得更清晰。

我已经搜索了答案,但我发现的只是询问如何在不重新加载页面的情况下删除哈希位置的问题。

非常感谢任何帮助,谢谢!

【问题讨论】:

    标签: javascript jquery html url fragment-identifier


    【解决方案1】:

    嗯,有点。您可以立即将其删除。

    把它放在你的页面上:

    <script>
    document.body.onload = function() {updateurl()};
    function updateurl(){
    
    window.history.replaceState(window.location.hostname, "Sample Title", window.location.pathname);
    }
    </script>
    

    您需要做的就是将“示例标题”更改为您想要的任何内容。

    祝你好运

    【讨论】:

    • 抱歉我没完全理解,pageTitle和路径代表什么?
    • 好吧 www.example.ca 将是域...您不要将 /index.html 或其他任何内容放在那里... pageTitle 是您希望在选项卡中显示的内容顶部.... /sample/path.html 是您放置文件路径的位置,因此 /index.html.... 或者您是从计算机托管文件?
    • 我认为我没有正确解释我的问题。好的,我有一个根据哈希打开的模式,你可以在这里看到一个例子s.codepen.io/samirc/debug/bVLXPV
    • 在我的“网络应用程序”中,我将用户带到哈希位置的方式比通过锚标记更多,所以我想知道是否可以使用 javascript 隐藏哈希位置,但仍然有模式打开和关闭,但 url 末尾没有 #
    • @SamirChahine 好的,我已经编辑了我的答案...试试吧
    猜你喜欢
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    相关资源
    最近更新 更多