我有一个完全正常工作的PushState
变量,它将创建上面以粗体显示的部分,以及我希望显示的URL。
PushState = $(e.target).parentsUntil(".Menu").filter("li").children("a").map(function() {
return $(this).find('span.Title').text().trim().replace(/&/g,"and").replace(/\s+/g, '-').replace(/Master-Dashboard/g,"Dashboard");
}).get().reverse().join("/");
window.history.pushState(null, null, PushState);
在页面加载时,点击Account > Dashboard
后,它会将地址栏中的网址更改为domain.com/Account/Dashboard
,但是在点击Workstation > Dashboard
后,地址栏中的网址会发生变化到domain.com/Account/Work-Station/Dashboard
然后再返回domain.com/Account/Work-Station/Account/Dashboard
如果不重新加载页面并允许bask / forward功能,我如何在domain.com/
之后更改所有内容,而不是像目前一样添加到最后/
。
答案 0 :(得分:1)
history.pushState({}, "","/"+ PushState);
// passes an empty state, an empty string, and a full URL with the leading slash
你需要使用斜杠来摆脱之前的路径。