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