오늘은 URL의 특정 매개 변수를 JavaScript로 바꿔야합니다.
다음과 같이 코드 코드를 복사하십시오.
// 분석 URL
함수 parseurl (url) {
var a = document.createelement ( 'a');
A.href = URL;
반품 {
출처 : URL,
프로토콜 : a.protocol.replace ( ':', ''),
호스트 : A.HostName,
포트 : A. 포트,
쿼리 : A.Search,
매개 변수 : (function () {
var return = {},
seg = a.search.replace (/^/?/, ',' ') .split ('& '),
len = seg.length, i = 0, s;
for (; i <len; i ++) {
if (! seg [i]) {계속;}
s = seg [i] .split ( '=');
ret [s [0]] = s [1];
}
Ret Ret;
}) () ,,,,
파일 : (a.pathname.match (/// ([^//?#]+)+) $/i) || [, ''[1],
해시 : a.hash.replace ( '#', ''),
경로 : a.pathname.replace (/^([^//])/, '/$ 1'),
상대 : (a.href.match (/tps? : ///////////] +)/) || [, ''[1] ,,
세그먼트 : a.pathname.replace (/^///, '') .split ( '/')
};
}
// myurl에서 동일한 이름의 매개 변수 값을 바꾸십시오.
기능 replaceurlparams (Myrl, Newparams) {
/*
for (myrl.params의 var x) {
for (newparams의 vary) {
if (x.tolowercase () == y.tolowercase ()) {) {
myurl.params [x] = Newparams [y];
}
}
}
*/
for (var x in newparams) {
var hasmurlparams = false;
for (myrl.params의 vary) {
if (x.tolowercase () == y.tolowercase ()) {) {
myurl.params [y] = newparams [x];
hasinmyurlparams = true;
부서지다;
}
}
// 추가 된 것으로 판명 된 매개 변수
if (! hasinmyurlparams) {
myurl.params [x] = newparams [x];
}
}
var _retult = myurl.protocol + ": //" + myurl.host + ":" + myurl.port + myurl.path + ";;;;;;;;;;;;;;;;;;;;;;;;;;
for (myurl.params의 var p) {
_result + = (p + "=" + myurl.params [p] + "&");
}
if (_result.substr (_result.length -1) == "&") {{
_result = _result.substr (0, _result.length -1);
}
ifrl.hash! = "") {{
_result + = "#" + myurl.hash;
}
_result를 반환합니다.
}
// 보조 출력
함수 W (str) {
document.write (str + "<br>");
}
var myurl = parseurl ( 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'););
w
w
w
w (myurl.query = " + myurl.query) // = '?
w ( "myurl.params =" + myurl.params) // = object = {id : 255, m : hello}
w
w ( "myurl.segments =" + myurl.segments) // = array = [ 'dir', 'index.html']]
w
w
w ( "myurl.source =" + myurl.source) // = 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'
var _newurl = replaceurlparams (myrl, {id : 101, m : "world", page : 1, "page": 2});
W ( "<br> New URL은 :")
w (_newurl); //http://abc.com:8080/dir/index.html?id=101&m=world&page=2 #top