从Url Javascript中删除Affiliate Query String

时间:2015-03-19 19:49:35

标签: javascript pushstate

在我的购物车中,我创建了这样的联盟网址:

http://mysite.local/phones-and-pdas/iphone?z=5509d173cffeb

我想使用history.pushState从?开始删除查询字符串。

我已尝试使用slice()split(),但这似乎会影响其他网址,即使它们不包含?z=

function trackingLink() {
    var href = window.location.href;
    var url  = href.slice(0, href.indexOf('?z='));

    history.pushState(null, null, url);
}

例如,当我去:

http://mysite.local/account/dashboard

地址网址更改为:

http://mysite.local/account/dashboar

请注意,上述代码在联盟链接上的效果非常好。

我确定这是一个简单的调整,但在搜索时我无法找到具体的答案。

3 个答案:

答案 0 :(得分:2)

请注意split而不是slice

href.split('?')[0]应该有用。

答案 1 :(得分:1)

首先添加一项检查以查看是否?z=

var href = window.location.href;
if(href.indexOf('?z=')) {
    var url  = href.slice(0, href.indexOf('?z='));
    history.pushState(null, null, url);
}

答案 2 :(得分:1)

function trackingLink() {
var href = window.location.href;
var url  = href.split('?z=');
history.pushState(null, null, url[0]);
}