当前位置: 代码迷 >> Web前端 >> 容易的url/location对象读取类
  详细解决方案

容易的url/location对象读取类

热度:131   发布时间:2012-11-23 00:03:43.0
简单的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[property] = uri[property];
??? }
??? 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[args[i].split("=")[0]] = decodeURI(args[i].split("=")[1]);
???????     }
??????? }
??????? 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:貌似代码方式不会截断代码,可视化编辑器去编辑的话会把内部函数截断了。。

  相关解决方案