JS获取浏览器地址参数的封装类

<script type="text/javascript" language="JavaScript">
function UrlProperty(url_pro){
 var tmpurl = url_pro;
 if(tmpurl){
  var tempurl = url_pro;
  while(true){
   tempurl = unescape(tempurl);
   if(tempurl == tmpurl){
    break;
   }else{
    tmpurl = tempurl;
   }
  }
 }
 else{
  var tempurl = window.location.href.toString();
  while(true){
   tempurl = unescape(tempurl);
   if(tempurl == tmpurl){
    break;
   }else{
    tmpurl = tempurl;
   }
  }

 }
 this.URL = tmpurl;
 this.substring = this.URL.indexOf("?")>0?this.URL.substring(this.URL.indexOf("?")+1,this.URL.length):"";
 this.speak = function(){alert(this.substring);};
 this.keywords = new Array();
 this.datas = new Array();
 var tmp = this.substring.split("&");
 this.get = function(key){
          for(var i = 0; i < this.keywords.length; i++){
           if(this.keywords[i] == key)
            return this.datas[i];
          }
          return null;
         }
 //根据属性获值
 this.isExist = function(key){
         for(var i = 0; i < this.keywords.length; i++){
          if(this.keywords[i] == key)
           return true;
         }
         return false;
        };
 //判断当前url中是否有该属性
 this.keyIndexOf = function(key){
          for(var i = 0; i < this.keywords.length; i++){
          if(this.keywords[i] == key)
           return i;
         }
         return -1;
        };
 //private
 this.getKeys = function(){return this.keywords;};
 //获取当前URL中的属性列表
 if(this.substring == "undefined" || this.substring == ""){

 }else{
  for(var i = 0; i < tmp.length; i++){
   var key = tmp[i].substring(0,tmp[i].indexOf("="));
   var data = tmp[i].indexOf("=")>0?tmp[i].substring(tmp[i].indexOf("=")+1,tmp[i].length):"";
   if(this.isExist(key)){
    var index = this.keyIndexOf(key);
    if(Object.prototype.toString.apply(this.datas[index]) === "[object Array]"){
     this.datas[index].push(data);
    }else{
     var temp = this.datas[index];
     this.datas[index] = new Array();
     this.datas[index].push(temp);
     this.datas[index].push(data);
    }
   }else{
    this.datas[i] = data;
   }
   this.keywords[i] = key;
  }
 }
}

var ap = new UrlProperty();

ap.get("keyword");
</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值