0

我想在主域和/the/rest/of/url.

显然,我做得不对。

我用了:

 window.location.hash = location.pathname;

http://www.mybusinesssite.com/path/to/mypage希望换成http://www.mybusinesssite.com/#/path/to/mypage

相反,我得到http://www.mybusinessite.com/path/to/mypage/#/path/to/my/page

制作它的正确方法是什么http://www.mybusinesssite.com/#/path/to/mypage ?

4

3 回答 3

3

尝试

window.location = location.protocol + '//' + location.host + '/#' + location.pathname

如果您想更改显示的 url,您可以使用推送状态,例如

history.pushState({}, "page x",  location.protocol + '//' + location.host + '/#' + location.pathname);

https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history

于 2013-06-03T17:05:01.263 回答
1

看到这个小提琴

代码如下所示:

var a = document.createElement('a');
a.href = location.href;
var path = a.pathname;
a.pathname = "";
a.hash = path;
var resultUrl = a.href;

适用于我当前版本的 IE、FireFox 和 Chrome。(IE 是兼容模式下的 IE 10,所以它认为它是 8,有点。)

于 2013-06-03T17:30:41.193 回答
0

这对我有用:

URL = window.location.protocol + '//' + window.location.host + '/#' + window.location.pathname;
于 2013-06-03T17:12:39.350 回答