简单的url/location对象读取类
一般情况下,我们需要读取url参数或者hash值之类,都是通过location对象来取得的。那为什么大家都用正则表达式去匹配呢?
会不会有舍近取远的嫌疑?
要充分利用原有的资源!
function KLocation(url){ var uri = url ? url : window.location; if(typeof uri !== "object") throw "NOT URL OBJECT"; var obj= {}; for(var property in uri){ obj = uri; } function splitQuery(str){ var temp = {}; if(str && str.length > 1){ var args = str.substring(1).split("&"); for(var i=0,len=args.length;i<len;i++){ temp.split("=")] = decodeURI(args.split("=")); } } return temp; } obj.hash = splitQuery(obj.hash); obj.search = splitQuery(obj.search) return obj;}//href="test.html?a=test#b=1&c=2"//var t = KLocation();//alert(t.hash.b);//alert(t.search.a);貌似代码有问题,被截断了。
PS:貌似代码方式不会截断代码,可视化编辑器去编辑的话会把内部函数截断了。。
页:
[1]