El código es muy simple. La idea principal es analizar los parámetros de la URL en objetos js, y luego es muy conveniente agregarlos, eliminarlos, modificarlos y verificarlos.
Copie el código de código de la siguiente manera:
var LG=(función(lg){
var objURL=función(url){
this.ourl=url||ventana.ubicación.href;
this.href="";//?La parte frontal
this.params={};//objeto de parámetro de URL
this.jing="";//#y las siguientes partes
this.init();
}
// ¿Analizar la URL y obtener? El frente se almacena en this.href, los parámetros se analizan en objetos this.params y el # y lo siguiente se almacenan en this.jing
objURL.prototype.init=función(){
var str=this.ourl;
var índice=str.indexOf("#");
si(índice>0){
this.jing=str.substr(index);
str=str.substring(0,índice);
}
índice=str.indexOf("?");
si(índice>0){
this.href=str.substring(0,index);
str=str.substr(índice+1);
var partes=str.split("&");
for(var i=0;i<partes.longitud;i++){
var kv=partes[0].split("=");
this.params[kv[0]]=kv[1];
}
}
demás{
this.href=this.ourl;
this.params={};
}
}
//Simplemente modifica this.params
objURL.prototype.set=función(clave,val){
this.params[clave]=val;
}
//Simplemente configura this.params
objURL.prototype.remove=función(clave){
this.params[clave]=indefinido;
}
//La URL después de la operación se compone de tres partes.
objURL.prototype.url=función(){
var strurl=this.href;
var objps=[];// Utilice la organización de matriz aquí y luego realice la operación de unión
for(var k en this.params){
si(este.params[k]){
objps.push(k+"="+this.params[k]);
}
}
si(objps.longitud>0){
strurl+="?"+objps.join("&");
}
si(este.jing.longitud>0){
strurl+=this.jing;
}
lucha de retorno;
}
//Obtener valor del parámetro
objURL.prototype.get=función(clave){
devolver this.params[clave];
}
lg.URL=objURL;
devolver lg;
}(LG||{}));
LG es solo mi espacio de nombres JS común personal, nada más. Llamar:
Copie el código de código de la siguiente manera:
var myurl=new LG.URL("http://www.baidu.com?a=1");
myurl.set("b","hola"); //agregado b=hola
alerta (miurl.url());
myurl.remove("b"); //Borrado
alert(myurl.get ("a"));//Obtiene el valor del parámetro a, aquí obtenemos 1
myurl.set("a",23); //Modifica el valor de a a 23
alerta (miurl.url());