vue如何删除url上的参数
这里的url 是指一个网站链接例如: https://baidu.com?a=1&b=2代码如下(示例):removeURLParameter.getnewurl是把方法封装了一下(如果没有封装可以直接调用函数传入需要删除的参数名)order_sn是我要删除的参数window.history.replaceState是history的方法用来替换当前页面的url并不会增加路由记录三、结果删除完之后
·
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:以下是本篇文章正文内容,下面案例可供参考
一、如何删除Url上某些参数?
这里的url 是指一个网站链接
例如: https://baidu.com?a=1&b=2
二、使用步骤
代码如下(示例):
getnewurl(name) {
var loca = window.location;
var baseUrl = loca.origin + loca.pathname + "?";
var query = loca.search.substr(1);
if (query.indexOf(name)>-1) {
var obj = {}
var arr = query.split("&");
for (var i = 0; i < arr.length; i++) {
arr[i] = arr[i].split("=");
obj[arr[i][0]] = arr[i][1];
};
delete obj[name];
var url = baseUrl + JSON.stringify(obj).replace(/[\"\{\}]/g,"").replace(/\:/g,"=").replace(/\,/g,"&");
return url
};
}
getnewurl 是把需要删除的参数摘除掉
a是我要删除的参数
window.history.replaceState 是history的方法用来替换当前页面的url 并不会增加路由记录
let url=this.getnewurl('a')
window.history.replaceState(null, null, url);
三、结果
删除完之后
例如: https://baidu.com?b=2
这个是过滤多个参数的情况 token|uid 是参数
getnewurl(){
let url = document.location.href;
let reg = /[^\w](token|uid)=?([^&|^#]*)/g;
url = url.replace(reg,"");
reg = /&&/g;
url = url.replace(reg,"");
reg = /&#/g;
url = url.replace(reg,"#");
reg = /\?#/g;
url = url.replace(reg,"#");
// url = url.replaceAll(document.domain,"");
// url = url.replaceAll("http://","");
// url = url.replaceAll("https://","");
reg = /\?#/g;
url = url.replace(reg,"#");
return url;
}
更多推荐
已为社区贡献1条内容
所有评论(0)