Javascript操作URL函数修改版

  总结了一些方法,把它压缩成了一个函数对象,只有几十行代码,使用方法简单明了

  存为ojbUrl.js

  

复制代码 代码如下:

  /*

  说明:本代码可自由复制修改并且使用,但请保留作者信息!

  Author: Kevin  WebSite: http://iulog.com/  QQ:251378427

  JS 操作 URL 函数使用说明:

  初始化 var myurl=new objURL(); //也可以自定义URL: var myurl=new objURL('http://www.glzy8.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('http://www.glzy8.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(); //这是调试接口。修改该函数方法进行调试