添加修改目录
// http://write.blog.csdn.net/postedit/main.jsp
// http://write.blog.csdn.net/postedit /info/info.jsp?v=4.0&orderno=20170413102723784684136990752&isSave=1
思想:
/main.jsp 替换成 info/info.jsp
var URL = function(param){
if(typeof param=="undefined"){
throw new Error("你需要传入一个param作为参数");
}
this.urlname=param;
}
URL.prototype = {
constructor:URL,
subUrl:function(filepath,filename){
var newvalue = filepath+"/"+filename;//info/info.jsp
var searchvalue = this.parseURL(this.urlname).file;
console.log(newvalue);
console.log(searchvalue);
var Str = this.urlname;
this.urlname = Str.replace(searchvalue,newvalue)
return this.urlname;
},
parseURL:function parseURL(url) {
var a = document.createElement('a');
a.href = url;
return {
source: url,
protocol: a.protocol.replace(':',''),
host: a.hostname,
port: a.port,
query: a.search,
params: (function(){
var ret = {},
seg = a.search.replace(/^\?/,'').split('&'),
len = seg.length, i = 0, s;
for (;i<len;i++) {
if (!seg[i]) { continue; }
s = seg[i].split('=');
ret[s[0]] = s[1];
}
return ret;
})(),
file: (a.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1],
hash: a.hash.replace('#',''),
path: a.pathname.replace(/^([^\/])/,'/$1'),
relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [,''])[1],
segments: a.pathname.replace(/^\//,'').split('/')
};
},
addArg:function(key,value){
//this
if(this.urlname.indexOf('?')==-1){
this.urlname+='?';
}else{
this.urlname+="&";
};
this.urlname+=encodeURIComponent(key)+"="+encodeURIComponent(value);
return this.urlname;
},
addArgs:function(obj){
/*var obj ={
key:value,
}*/
//this
if(this.urlname.indexOf('?')==-1){
this.urlname+='?';
}else{
this.urlname+="&";
};
this.urlname+=encodeURIComponent(obj.key)+"="+encodeURIComponent(obj.value);
return this.urlname;
},
getQueryString:function(key){
var str = this.getSearchString().substr(1);
var reg = new RegExp("(^|&)"+ key +"=([^&]*)(&|$)");
var strArray=str.match(reg);//返回一个数组
if(strArray!=null){
return unescape(strArray[2]);
}
return null;
},
getSearchString:function(){
var mark = this.urlname.indexOf('?');
if(mark!=-1){
return decodeURIComponent(this.urlname.substr(mark));
}else{
return '';
}
},
}