Changins地址URL All Afer“domain.com/”没有重新加载页面

时间:2017-01-20 10:54:43

标签: javascript jquery html5 pushstate

我的多级菜单片段

  • 信息中心 - domain.com/Dashboard
  • 帐户
    • 信息中心 - domain.com/Account/Dashboard
    • 消息 - domain.com/Account/Messages
  • 工作站
    • 信息中心 - domain.com/Workstation/Dashboard
    • 任务 - domain.com/Workstation/Tasks

我的PushState

我有一个完全正常工作的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/之后更改所有内容,而不是像目前一​​样添加到最后/

1 个答案:

答案 0 :(得分:1)

history.pushState({}, "","/"+ PushState); 
// passes an empty state, an empty string, and a full URL with the leading slash

你需要使用斜杠来摆脱之前的路径。