Le code est très simple. L'idée principale est d'analyser les paramètres d'URL en objets js, puis il est très pratique d'ajouter, de supprimer, de modifier et de vérifier ici.
Copiez le code comme suit :
var LG=(fonction(lg){
var objURL=fonction(url){
this.ourl=url||window.location.href;
this.href="";//?La partie avant
this.params={};//objet de paramètre d'url
this.jing="";//#et les parties suivantes
this.init();
}
//Analyser l'URL et obtenir ? Le front est stocké dans this.href, les paramètres sont analysés dans les objets this.params, et le # et les suivants sont stockés dans this.jing
objURL.prototype.init=fonction(){
var str=this.ourl;
var index=str.indexOf("#");
si(index>0){
this.jing=str.substr(index);
str=str.substring(0,index);
}
index=str.indexOf("?");
si(index>0){
this.href=str.substring(0,index);
str=str.substr(index+1);
var parts=str.split("&");
pour(var i=0;i<parts.length;i++){
var kv=parts[0].split("=");
this.params[kv[0]]=kv[1];
}
}
autre{
this.href=this.ourl;
this.params={};
}
}
//Modifiez simplement this.params
objURL.prototype.set=fonction(clé,val){
this.params[key]=val;
}
//Définissez simplement this.params
objURL.prototype.remove=fonction(clé){
this.params[key]=indéfini ;
}
//L'url après l'opération est composée de trois parties
objURL.prototype.url=fonction(){
var strurl=this.href;
var objps=[];//Utilisez l'organisation du tableau ici, puis effectuez l'opération de jointure
pour(var k dans this.params){
si(this.params[k]){
objps.push(k+"="+this.params[k]);
}
}
si(objps.length>0){
strurl+="?"+objps.join("&");
}
si(this.jing.length>0){
strurl+=this.jing;
}
retour strurl;
}
//Obtenir la valeur du paramètre
objURL.prototype.get=fonction(clé){
renvoie this.params[clé] ;
}
lg.URL=objURL;
retourner LG ;
}(LG||{}));
LG n'est que mon espace de noms JS commun personnel, rien d'autre. Appel:
Copiez le code comme suit :
var myurl=new LG.URL("http://www.baidu.com?a=1");
myurl.set("b","bonjour"); //ajouté b=bonjour
alerte (myurl.url());
monurl.remove("b"); //Supprimé b
alert(myurl.get ("a"));//Obtenir la valeur du paramètre a, ici nous obtenons 1
myurl.set("a",23); //Modifier la valeur de a à 23
alerte (myurl.url());