//获取当前URL的参数并转为对象
function getUrlObj() {
if (window.location.href.split("?").length > 1) {
var newurl = window.location.href.split("?")[1].split("&")
var obj = {}
for (let i in newurl) {
var itemArray = newurl[i]
var item = itemArray.split("=")
obj[item[0]] = item[1]
}
return obj
}
}
//将新参数追加到URL,现有参数则更新
function rewritePageUrl(paramName, param) {
let queryObj = getUrlObj()
if (paramName) {
queryObj[paramName] = param
}
let url = window.location.pathname
let newUrl = setUrlQuery(url, queryObj);
console.log("aaaaaaaaaaaaa", newUrl)
history.pushState('', '', newUrl); // 不刷新页面
}
//重新组装URL
function setUrlQuery(url, queryObj) {
if (!url) {
return '';
}
if (!queryObj) {
return url;
}
let queryArr = [];
for (let key in queryObj) {
if (queryObj.hasOwnProperty(key)) {
queryArr.push(`${key}=${queryObj[key]}`)
}
}
if (url.indexOf('?') !== -1) {
url = `${url}&${queryArr.join('&')}`
} else {
url = `${url}?${queryArr.join('&')}`
}
return url;
}
js动态拼接url参数query
于 2023-04-20 15:48:30 首次发布