在按钮单击不起作用时从URL中删除查询参数

时间:2017-07-22 22:59:23

标签: javascript query-parameters

我想在点击按钮时删除网址中的查询参数,以便将链接从www.example.com/?queryparam=hello修改为www.example.com/

当我尝试:

window.location.href.split('?')[0]; 

在控制台中,它返回href减去查询参数(正确)。但在实际的浏览器测试中,它不会在实际的按钮点击上执行代码。

这是我的代码:

window.addEventListener('message', function(event) {
  if (window.location.href.indexOf('?queryParam=') > -1) {
    $('.button').click(function() {
      window.location.href.split('?')[0];
    });
  }
  return;
}, false);

1 个答案:

答案 0 :(得分:0)

拆分和访问数组不会改变原始字符串。您在控制台中将其视为基本URL的原因是因为它的评估结果为www.example.com,但您没有更改原始window.location.href。重新分配:

window.location.href = window.location.href.split('?')[0];

您的代码:

window.location.href.split('?')[0];

只是一个表达。它评估一个值,它基本上没有影响。重新分配将按预期更改位置。请注意,不需要window(除非您有一个名为location的局部变量)。您还可以将其缩短为:

location = location.href.split('?')[0];

甚至:

location.assign(location.href.split('?')[0]);