Javascritp adds a url parameter to add the parameter to the url

  • 2020-03-30 04:01:52
  • OfStack

Adds an object parameter to the url and overrides it if it was in the original url
Js code


function addToUrl(obj){ 
var aprotocol = location.protocol; 
var ahost = location.host; 
var apath = location.pathname; 
var asearch = location.search; 
var ahash = location.hash; 
var result = ''; 
console.log(obj); 
var joinObj = function(joinObj_obj){ 
var result = ''; 
for(var i in joinObj_obj){ 
result += i + '=' + joinObj_obj[i]; 
} 
return result; 
}; 
var splitSearchToObj = function(str){ 
var resObj = {}; 
var arr = str.split('&'); 
for(var i = 0; i < arr.length; i++){ 
resObj[arr[0]] = arr[1]; 
} 
return resObj; 
}; 
var existObjKey = function(existObjKey_obj, str){ 
for(var i in existObjKey_obj){ 
if(i == str){ 
return true; 
} 
} 
return false; 
}; 
var objExtend = function(obj1, obj2){ 
var result = {}; 
for(var i in obj1){ 
if(existObjKey(obj2, i)){ 
result[i] = obj2[i]; 
}else{ 
result[i] = obj1[i]; 
} 
} 
}; 
if(asearch == ''){ 
console.log(obj); 
result = aprotocol + '//' + ahost + apath + '?' + joinObj(obj) + ahash; 
}else{ 
var oldSearchObj = splitSearchToObj(asearch.substr(1)); 
result = aprotocol + '//' + ahost + apath + joinObj(objExtend(oldSearchObj, obj)) + ahash; 

} 
return result; 
} 
addToUrl({'kd': 'aaa'}); 

Related articles: