袁来如此的工作笔记
袁来如此的工作笔记
竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生。

【插件】JS 操作 URL 函数(新增,修改,删除 URL参数)

浏览量:1016


JS 操作 URL 函数使用说明:

var myurl=new objURL(); //初始化。也可以自定义URL: var myurl=new objURL('http://iulog.com/?sort=js'); 
var val=myurl.get('abc'); // 读取参数abc的值
myurl.set("arg",data); // 新增/修改 一个arg参数的值为data
myurl.remove("arg"); //移除arg参数
myurl.url();//获取处理后的URL , 一般就直接执行转跳: location.href=myurl.url();
myurl.debug(); //这是调试接口。修改该函数方法进行调试



function objURL(url){
	var ourl=url||window.location.href;
	var href="";//?前面部分
	var params={};//url参数对象
	var jing="";//#及后面部分
	var init=function(){
		var str=ourl;
		var index=str.indexOf("#");
		if(index>0){
			jing=str.substr(index);
			str=str.substring(0,index);
		}
		index=str.indexOf("?");
		if(index>0){
			href=str.substring(0,index);
			str=str.substr(index+1);
			var parts=str.split("&");
			for(var i=0;i<parts.length;i++){
				var kv=parts[i].split("=");
				params[kv[0]]=kv[1];
			}
		}else{
			href=ourl;
			params={};
		}
	};
	this.set=function(key,val){
		params[key]=encodeURIComponent(val);
	};
	this.remove=function(key){
		if(key in params) params[key]=undefined;
	};
	this.get=function(key){
		return params[key];
	};
	this.url=function(key){
		var strurl=href;
        var objps=[];
        for(var k in params){
            if(params[k]){
                objps.push(k+"="+params[k]);
            }
        }
        if(objps.length>0){
            strurl+="?"+objps.join("&");
        }
        if(jing.length>0){
            strurl+=jing;
        }
        return strurl;
	};
	this.debug=function(){
		// 以下调试代码自由设置
		var objps=[];
		for(var k in params){
			objps.push(k+"="+params[k]);
		}
		alert(objps);//输出params的所有值
	};
	init();
}


打赏