javascript 获取当前 URL 参数的两种方法

  • //返回的是字符串形式的参数,例如:class_id=3&id=2&
  • function getUrlArgStr(){
  •   var q = location.search.substr(1);
  •   var qs = q.split('&');
  •   var argStr = ''
  •   if(qs){
  •     for(var i=0;i<qs.length;i++){
  •       argStr+=qs[i].substring(0,qs[i].indexOf('='))+'='+qs[i].substring(qs[i].indexOf('=')+1)+'&'
  •     }
  •   }
  •   return argStr;
  • }
  • //返回的是对象形式的参数
  • function getUrlArgObject(){
  •   var args = new Object();
  •   var query = location.search.substring(1);//获取查询串
  •   var pairs = query.split(",");//在逗号处断开
  •   for(var i=0;i<pairs.length;i++){
  •     var pos = pairs[i].indexOf('=');//查找name=value
  •     if(pos==-1){//如果没有找到就跳过
  •       continue;
  •     }
  •     var argname = pairs[i].substring(0,pos);//提取name
  •     var value = pairs[i].substring(pos+1);//提取value
  •     args[argname] = unescape(value);//存为属性
  •   }
  •   return args;//返回对象
  • }
  • 另外列出一些 javascript 获取url中各个部分的功能方法:
    • window.location.host; //返回url 的主机部分,例如:www.xxx.com
    • window.location.hostname; //返回www.xxx.com
    • window.location.href; //返回整个url字符串(在浏览器中就是完整的地址栏),例如:www.xxx.com/index.php?class_id=3&id=2
    • window.location.pathname; //返回/a/index.php或者/index.php
    • window.location.protocol; //返回url 的协议部分,例如: http:,ftp:,maito:等等。
    • window.location.port //url 的端口部分,如果采用默认的80端口,那么返回值并不是默认的80而是空字符

猜你喜欢

转载自www.cnblogs.com/sunww/p/11287592.html