删除哈希(#)&使用javascript从URL中获取的值?

时间:2016-09-04 03:58:56

标签: javascript

我在页面加载时使用网址#value触发自定义模式弹出窗口,如果用户关闭模式,我想清除该值。我知道我可以使用#value删除location.hash = ''。但这将离开#

是否有跨浏览器方式删除#value以及以下网址中的#

e.g。 http://www.myweb.com/list.html#value

提前致谢!

1 个答案:

答案 0 :(得分:1)

没有直接的方法。

至于Answer在顶部共享的 Pabel de Jesus Nuñez Landestoy 。目前的解决方法是编写一个小函数,

function removeHash () { 
    var scrollV, scrollH, loc = window.location;
    if ("pushState" in history)
        history.pushState("", document.title, loc.pathname + loc.search);
    else {
        // Prevent scrolling by storing the page's current scroll offset
        scrollV = document.body.scrollTop;
        scrollH = document.body.scrollLeft;

        loc.hash = "";

        // Restore the scroll offset, should be flicker free
        document.body.scrollTop = scrollV;
        document.body.scrollLeft = scrollH;
    }
}

原始答案是:Andy E