O código é muito simples. A ideia principal é analisar os parâmetros de URL em objetos js e, em seguida, é muito conveniente adicionar, excluir, modificar e fazer anotações aqui.
Copie o código do código da seguinte forma:
var LG=(função(lg){
var objURL=função(url){
this.ourl=url||window.location.href;
this.href="";//?A parte frontal
this.params={};//objeto de parâmetro de url
this.jing="";//#e as seguintes partes
this.init();
}
//Analisar o URL e obter? A frente é armazenada em this.href, os parâmetros são analisados em objetos this.params e o # e os seguintes são armazenados em this.jing
objURL.prototype.init=função(){
var str=este.ourl;
var index=str.indexOf("#");
if(índice>0){
this.jing=str.substr(índice);
str=str.substring(0,índice);
}
index=str.indexOf("?");
if(índice>0){
this.href=str.substring(0,índice);
str=str.substr(índice+1);
var partes=str.split("&");
for(var i=0;i<partes.comprimento;i++){
var kv=partes[0].split("=");
this.params[kv[0]]=kv[1];
}
}
outro{
isto.href=este.ourl;
this.params={};
}
}
//Basta modificar this.params
objURL.prototype.set=function(chave,val){
this.params[chave]=val;
}
//Basta definir this.params
objURL.prototype.remove=function(chave){
this.params[key]=indefinido;
}
//A url após a operação é composta por três partes
objURL.prototype.url=função(){
var strurl=este.href;
var objps=[];//Use a organização do array aqui e execute a operação de junção
for(var k neste.params){
if(este.params[k]){
objps.push(k+"="+this.params[k]);
}
}
if(objps.length>0){
strurl+="?"+objps.join("&");
}
if(this.jing.length>0){
strurl+=este.jing;
}
estrutura de retorno;
}
//Obtém o valor do parâmetro
objURL.prototype.get=function(chave){
retorne isto.params[chave];
}
lg.URL=objURL;
retornar LG;
}(LG||{}));
LG é apenas meu namespace JS pessoal comum, nada mais. Chamar:
Copie o código do código da seguinte forma:
var meuurl=new LG.URL("http://www.baidu.com?a=1");
myurl.set("b","olá"); //b=olá adicionado
alerta (meuurl.url());
myurl.remove("b"); //Excluído b
alert(myurl.get ("a")); //Obtém o valor do parâmetro a, aqui obtemos 1
myurl.set("a",23); //Modifica o valor de a para 23);
alerta (meuurl.url());