zoukankan      html  css  js  c++  java
  • javascript获取地址栏参数

    http://gzycm520.blog.51cto.com/175220/71030方法一:

    <script type="text/javascript">
    <!--
    function Request(strName){ 
    var strHref = "www.QQView.com/index.htm?a=aaa&b=bbb&c=ccc"; 
    var intPos = strHref.indexOf("?"); 
    var strRight = strHref.substr(intPos + 1); 
    var arrTmp = strRight.split("&"); 
    for(var i = 0; i < arrTmp.length; i++) { 
    var arrTemp = arrTmp[i].split("="); 
    if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1]; 

    return ""; 
    }

    alert(Request("a")); 
    alert(Request("b")); 
    alert(Request("c")); 
    //-->
    </script>

    方法二:

    <script type="text/javascript">
    <!--
    String.prototype.getQuery = function(name) { 
      var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); 
      var r = this.substr(this.indexOf("?")+1).match(reg); 
      if (r!=null) return unescape(r[2]); return null; 

    var strHref = "www.QQView.com/index.htm?a=aaa&b=bbb&c=ccc"; 
    alert(strHref.getQuery("a")); 
    alert(strHref.getQuery("b")); 
    alert(strHref.getQuery("c")); 
    //-->
    </script>

    方法三:
    <SCRIPT   language=javascript>
    function geturl(){ 
      var   srcc   =   window.location;       //得到地址栏连接   
      srcc   =   srcc.toString()     //转换成string类型,可以省略   
      start   =   srcc.indexOf("#");       //返回"?"在字串中第一次出现的位置   
      end   =   srcc.length;     //字串的长度   
      var str;
      str=srcc.substring(start+1,end);     //得到部分字串   
      this.tciframe.location.href="地址?"+str;;
    }
    </SCRIPT>
     
     
    利用javascript获取页面地址栏参数有很多种方式,大部分都是利用split将地址分割成数组。
    这样做的缺点是不仅需要循环,还需要判断,找到各组value和key,很是麻烦。
    这里推荐一种利用OO思想加上RegExp的方法,使它更灵活、高效。
    Request = {
    QueryString : function(item){
    var svalue = location.search.match(new
    RegExp('[?&]' + item + '=([^&]*)(&?)','i'));
    return svalue ? svalue[1] : svalue;
    }
    }
    var key = Request.QueryString('key');
  • 相关阅读:
    kubernetes 【版本】
    【pod无法删除 总是处于terminate状态】强行删除pod
    prometheus数据格式
    【prometheus 抓取源】
    【PromQL】prometheus查询语言
    【grafana报错】Singlestat "Error: Multiple Series Error"
    【prometheus抓取间隔】scrape_interval
    【分布式一致性】etcd
    【kubectl 原理】kubectl 命令执行的时候究竟发生了什么(kubectl、apiserver、etcd)
    中国移动DNS IP地址大全(32个省)
  • 原文地址:https://www.cnblogs.com/svennee/p/4073143.html
Copyright © 2011-2022 走看看