给URL中添加query 而不刷新页面的方法

实现标题中的方式: History.pushState()

MDN History.pushState()

只需要改变参数中的state

话不多说(show fuck code )

function delUrlParam(param){
 let obj = new window.URL(window.location.href);
 obj.searchParams.delete(param);
 return obj.href;
}
//增加url中的参数
function addUrlParam(key, value){
 let obj = new window.URL(window.location.href);
 obj.searchParams.set(key, value);
 return obj.href;
}
// 先删除
history.pushState({}, 0, delUrlParam('tab')); 
// 后添加
history.pushState({}, 0, addUrlParam('tab', 1));

你可能感兴趣的:(javascript前端)