使用推送状态/弹出状态的重定向问题 - 使用javascript

时间:2015-08-24 07:11:12

标签: javascript jquery html5 html5-history

我的网站上有以下情况。当用户在付款(结帐)页面上并点击后退按钮时,默认情况下会显示错误页面。

我希望我的用户可以在主页上重定向!

我尝试过以下代码:

function extractDomain(url) {
    var domain;
    if (url.indexOf("://") > -1) {
      domain = url.split('/')[2];
    }
    else {
            domain = url.split('/')[0];
    }
    domain = domain.split(':')[0];

    return domain;
}

var url = extractDomain(window.location.href);

if(jQuery("#checkout_page".length=1)){
    history.pushState(null, null, url);

    window.addEventListener("popstate", function(e) {
       window.location.assign("http://"+url)
   });
}

上述代码存在以下问题:

当用户在结帐页面上时,域将附加到用户(由于推送状态)。

有什么办法,我可以保留确切的行为/重定向但是不必在网址的末尾附加域名吗?

另外,这是我实现重定向的合法方式/还有更好的方法吗?

非常感谢任何帮助

...问候

1 个答案:

答案 0 :(得分:0)

管理以使其正常工作:)

我只需要推送当前的网址..

line => history.pushState(null, null, url);
change to => history.pushState(null, null, window.location.href);