Код очень простой. Основная идея — разобрать параметры URL на js-объекты, а затем здесь очень удобно добавлять, удалять, изменять и проверять.
Скопируйте код кода следующим образом:
вар LG=(функция(lg){
вар objURL = функция (URL) {
this.ourl=url||window.location.href;
this.href="";//?Передняя часть
this.params={};//объект параметра URL
this.jing="";//#и следующие части
это.инит();
}
//Анализируем URL-адрес и получаем? Передняя часть хранится в this.href, параметры анализируются в объектах this.params, а # и последующие сохраняются в this.jing.
objURL.prototype.init=функция(){
вар стр = this.ourl;
var index=str.indexOf("#");
если(индекс>0){
this.jing=str.substr(индекс);
стр=str.substring(0,индекс);
}
index=str.indexOf("?");
если(индекс>0){
this.href=str.substring(0,index);
стр=str.substr(индекс+1);
var parts=str.split("&");
for(var i=0;i<parts.length;i++){
var kv=parts[0].split("=");
this.params[kv[0]]=kv[1];
}
}
еще{
this.href=this.ourl;
this.params={};
}
}
//Просто измените this.params
objURL.prototype.set=function(key,val){
this.params[ключ]=значение;
}
//Просто установите this.params
objURL.prototype.remove=функция(ключ){
this.params[ключ]=не определено;
}
//URL-адрес после операции состоит из трех частей
objURL.prototype.url=function(){
вар strurl=this.href;
var objps=[];//Используем здесь организацию массива, а затем выполняем операцию соединения
for(var k в this.params){
если(this.params[k]){
objps.push(k+"="+this.params[k]);
}
}
если(objps.length>0){
strurl+="?"+objps.join("&");
}
если(this.jing.length>0){
strurl+=this.jing;
}
возврат струрла;
}
//Получаем значение параметра
objURL.prototype.get=функция(ключ){
вернуть this.params[ключ];
}
lg.URL=objURL;
вернуть LG;
}(LG||{}));
LG — это просто мое личное общее пространство имен JS, ничего больше. Вызов:
Скопируйте код кода следующим образом:
var myurl=new LG.URL("http://www.baidu.com?a=1");
myurl.set("b","привет"); //добавлен b=привет
оповещение (myurl.url());
myurl.remove("b"); //Удалено b
alert(myurl.get("a"));//Получаем значение параметра a, здесь мы получаем 1
myurl.set("a",23); //Измените значение a на 23;
оповещение (myurl.url());