// 함수 정의
/**
* 파라미터로 받은 querystring의 특정 파라미터 값을 변경한 querystring을 리턴한다.
*
* - querystring은 주소부분을 제외한 ? 이후의 부분이라 가정한다.
*/
function modifyQueryString(src, modObj){
// querystring을 object 화
var obj = JSON.parse('{"' + decodeURI(src).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}');
for(key1 in obj){
for(key2 in modObj){
if(key1 != key2){
continue;
}
obj[key1] = modObj[key1]; // 값 교체
}
}
// object를 querystring 화
var newQS = new URLSearchParams(obj).toString();
return newQS;
}
// 용례 (파라미터들 중 paramA=Y 였었는데 N 으로 변경한 URL)
var locArr = location.toString().split('?');
location.href = locArr[0] + '?' + modifyQueryString(locArr[1], { paramA:'N' });
Subscribe
Login
0 Comments