Javascript操作URL函数修改版_javascript技巧

js教程评论1.3K views阅读模式

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

存为ojbUrl.js

复制代码 代码如下:

/*

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

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

JS 操作 URL 函数使用说明:

初始化 var myurl=new objURL(); //也可以自定义URL: var myurl=new objURL('http://www.jb51.net');

读取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 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 函数使用说明:



var myurl=new objURL(); //初始化。也可以自定义URL: var myurl=new objURL('http://www.jb51.net'');

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(); //这是调试接口。修改该函数方法进行调试

企鹅博客
  • 本文由 发表于 2019年8月16日 04:35:52
  • 转载请务必保留本文链接:https://www.qieseo.com/420867.html

发表评论