window.history.pushState更改网址而不删除最后一部分

时间:2016-07-07 14:12:41

标签: javascript html html5

所以我有以下网址:

https://example.com/page/foo

我正在使用像这样的pushstate:

window.history.pushState(window.location.href, null, 'product/'+data.name+'/'+data.item);

现在,问题是当它更改网址时,会删除“foo”,因此新网址将为

https://example.com/page/product/product-name/123

我不想要这个,我想保留原始网址...并附加新内容

2 个答案:

答案 0 :(得分:1)

改为使用

window.history.pushState(null,null,window.location.href +&#39; product /&#39; + data.name +&#39; /&#39; + data.item); < / p>

答案 1 :(得分:0)

选择的答案对我不起作用,我找到了一个更好的选择。 因此,为了保留“基本网址”并在使用后替换所有内容:

window.history.pushState(null, null, '/product/'+data.name+'/'+data.item);

也就是说,简单地在路径前加一个斜杠(/)