删除哈希并加载URL减去哈希

时间:2013-06-03 15:56:42

标签: javascript

enter code here此JavaScript代码段会从网址中删除/#/and/everything/after,然后重新加载该网页。

var loc = window.location.href,
    index = loc.indexOf('#');

if (index > 0) {
  window.location = loc.substring(0, index);
}

结果,像这样:

http://www.somesite.com/#/somepage

重新加载:

http://www.somesite.com

如何修改代码段,使其仅删除此部分:#/,但保留其后的所有内容,并将网页加载到包含#/前后所有内容的网址,像这样:

http://www.somesite.com/somepage

2 个答案:

答案 0 :(得分:2)

你可以做到

window.location = window.location.href.replace(/\/#\//, '/');

如果您只想在有#时重新加载,则可以

if (window.location.href.indexOf('/#/')>=0) {
    window.location = window.location.href.replace(/\/#\//, '/');
}

编辑:要在最后一个令牌之前添加#,您可以这样做:

var href2 = href.replace(/([^\/]+\/?)$/, '#/$1')

示例:

"http://www.somesite.com/somepage?a=b" -> "http://www.somesite.com/#/somepage?a=b"
"http://www.somesite.com/somepage/" -> "http://www.somesite.com/#/somepage/"

答案 1 :(得分:0)

您可以使用

window.location.href.replace( “#/”, “”);