如何在url中替换hash

时间:2011-08-05 03:02:55

标签: javascript

如何更换这样的网址

http://test.com/#part1

为:

http://test.com/part1

我知道location.hash但它会检测url中是否有哈希值。

4 个答案:

答案 0 :(得分:6)

location.href = location.href.replace(location.hash,location.hash.substr(1))

答案 1 :(得分:1)

您可以使用replace()

以下是使用windows.location的细分版本:

var new_url = window.location.protocol + '//'
            + window.location.hostname + '/'
            + window.location.pathname + '/'
            + window.location.hash.replace('#','','g') ;

或删除所有哈希:

var new_url = (window.location + '').replace('#','','g');

答案 2 :(得分:0)

var file = location.pathname.substring(location.pathname.lastIndexOf("/") + 2);
var location = window.origin + "file";
window.location = location;

答案 3 :(得分:0)

在我看来是在字符串最好和最干净的解决方案上使用正则表达式替换

.replace( /#.*/, "");

例如

location.href = location.href.replace( /#.*/, "");