【问题标题】:How to remove Location Hash in url using JavaScript or JQuery如何使用 JavaScript 或 JQuery 删除 url 中的位置哈希
【发布时间】:2020-09-04 07:36:54
【问题描述】:

这与此处的现有查询不同。

destination id 位于不同页面时,我正面临删除 #url。

这是我所做的: 有 2 个 HTML 页面:index.html 和 about.html。我在 index.html 页面中使用<div id="one"></div> 显示了各种菜单信息,而不是每个菜单项的单独页面,单击时删除#url 我已经分别尝试了以下几行。

history.pushState('', document.title, window.location.pathname);

var target = $(this.target);

但是,#url 不仅仅显示在 index.html 页面中。但是,当单击 about.html 页面中的菜单项时,#url 仍然可见(因为<div id=""></div> 在 index.html 中)。即使 destination id 在不同的页面中,你能帮我删除 #url。

【问题讨论】:

标签: javascript html jquery css


【解决方案1】:

如果我理解正确,您有两个具有相同导航的页面,其中包含具有 hash 值的锚点,例如:#target。但是您没有锚点在两个页面上引用的元素,因此没有哈希值在页面上没有用处,例如:<div id="target">

如果是这种情况,那么下面的 sn-p 可能会有所帮助。它从位置对象中读取hash 值,然后尝试选择具有该散列的元素。如果在页面上未找到任何元素,则会更新 URL。将此脚本放在每个页面上并立即运行。

var hash = location.hash;
var $targets = $(hash);
if (!$target.length) {
  history.pushState('', document.title, location.pathname);
}

【讨论】:

    猜你喜欢
    • 2019-06-09
    • 2019-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 2010-12-21
    • 1970-01-01
    • 2011-05-29
    相关资源
    最近更新 更多