JS獲取URL信息類 主要功能有: 1.獲取URL基本信息,包括:網址,協議,埠號等。 2.地址欄獲取參數。 3.將json格式的參數對象轉換成字元串。 //獲取URL信息 var shaoURL = shaoURL || {}; (function (n){ var d = { pathname ...
JS獲取URL信息類
主要功能有:
1.獲取URL基本信息,包括:網址,協議,埠號等。
2.地址欄獲取參數。
3.將json格式的參數對象轉換成字元串。
//獲取URL信息 var shaoURL = shaoURL || {}; (function (n){ var d = { pathname:window.location.pathname, //設置或獲取對象指定的文件名或路徑。 href:window.location.href, //設置或獲取整個 URL 為字元串。 port:window.location.port, //設置或獲取與 URL 關聯的埠號碼。 protocol:window.location.protocol.split(":")[0], //設置或獲取 URL 的協議部分。 host:window.location.host, //設置或獲取 location 或 URL 的 hostname 和 port 號碼 hash:window.location.hash, //設置或獲取 href 屬性中在井號“#”後面的分段 param:window.location.search, //設置或獲取 href 屬性中跟在問號後面的部 referrer:document.referrer //獲取來源頁地址 }; n.get = function(){ var arrA = []; var arrB = []; for(var i in d){ arrA.push(i); arrB.push(d[i]); }; return { item:arrA, key:arrB }; }; n.getA = function(){ return d; }; n.getB = function(p){ return d[n.get().item[p]]; }; n.getC = function(key){ return d[key]; }; n.getD = function(key){ var reg = new RegExp("(^|&)"+ key +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); return null; }; n.getE = function(){ var r = window.location.hash; if(r!=null) return r.substr(1); return null; }; //json轉url字元串 n.JsonToURL = function(o){ var str = ""; for(var key in o){ if(o[key]!=-1){ str += key + "=" + encodeURIComponent(o[key]) + "&"; } } str = str.substring(0,str.length-1); return str; }; //param 將要轉為URL參數字元串的對象 //key URL參數字元串的首碼 //encode true/false 是否進行URL編碼,預設為true //return URL參數字元串 //var obj = {name:"tom","class":{className:"class1"},classMates:[{name:"shao"}]}; //JsonParam(obj); n.JsonParam = function(param, key, encode) { if(param==null) return ''; var str = ''; var t = typeof (param); if (t == 'string' || t == 'number' || t == 'boolean') { str += '&' + key + '=' + ((encode==null||encode) ? encodeURIComponent(param) : param); } else { for (var i in param) { var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i); str += '&' + n.JsonParam(param[i], k, encode); } } return str.substr(1); }; //json轉url字元串 //param 將要轉為URL參數字元串的對象 //key URL參數字元串的首碼 //return URL參數字元串 //var obj = {name:"tom","class":{className:"class1"},classMates:[{name:"shao"}]}; //parseParam(obj); n.parseParam = function(param,key){ var str = ""; if(param instanceof String || param instanceof Number|| param instanceof Boolean){ str += "&" + key + "=" + encodeURIComponent(param); } else { /* for(var i in param){ var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i); str += '&' + parseParam(param[i], k); } */ $.each(param,function(i){ var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i); str += '&' + n.parseParam(this, k); }); }; return str.substr(1); }; })(shaoURL);
初次寫博客,希望大家多多指教。