Javascript 在单击“不工作”按钮时从URL中删除查询参数

Javascript 在单击“不工作”按钮时从URL中删除查询参数,javascript,query-parameters,Javascript,Query Parameters,我想在单击按钮时删除URL中的查询参数,以便将链接从www.example.com/?queryparam=hello修改为www.example.com/ 当我尝试时: window.location.href.split('?')[0]; 在控制台中,它返回href减去查询参数(正确)。但在实际的浏览器测试中,它不会在实际的按钮点击时执行代码 这是我的密码: window.addEventListener('message', function(event) { if (window

我想在单击按钮时删除URL中的查询参数,以便将链接从
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);

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

window.location.href = window.location.href.split('?')[0];
您的代码:

window.location.href.split('?')[0];
这只是一种表达。它的计算结果是一个值,它基本上没有效果。重新分配将按预期更改位置。请注意,不需要
窗口
(除非您有一个名为
位置
的局部变量)。您还可以将其缩短为:

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

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

是否尝试将页面重定向到没有查询参数的页面?