Posted in Javascript onNovember 07, 2013
总结了一些方法,把它压缩成了一个函数对象,只有几十行代码,使用方法简单明了
存为ojbUrl.js
/* 说明:本代码可自由复制修改并且使用,但请保留作者信息! Author: Kevin WebSite: http://iulog.com/ QQ:251378427 JS 操作 URL 函数使用说明: 初始化 var myurl=new objURL(); //也可以自定义URL: var myurl=new objURL('https://3water.com'); 读取url参数值 var val=myurl.get('abc'); // 读取参数abc的值 设置url参数 myurl.set("arg",data); // 新增/修改 一个arg参数的值为data 移除url参数 myurl.remove("arg"); //移除arg参数 获取处理后的URL myurl.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(); }调用方法 JS 操作 URL 函数使用说明: [code] var myurl=new objURL(); //初始化。也可以自定义URL: var myurl=new objURL('https://3water.com''); 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(); //这是调试接口。修改该函数方法进行调试
Javascript操作URL函数修改版
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@