js 获取(接收)地址栏参数值的方法

  当地址栏含有参数,我们可以再目标页面通过window.location.search来获取我们需要的参数及其值

  

复制代码 代码如下:

  // 获取地址栏的参数数组

  function getUrlParams()

  {

  var search = window.location.search ;

  // 写入数据字典

  var tmparray = search.substr(1,search.length).split("&");

  var paramsArray = new Array;

  if( tmparray != null)

  {

  for(var i = 0;i<tmparray.length;i++)

  {

  var reg = /[=|^==]/; // 用=进行拆分,但不包括==

  var set1 = tmparray[i].replace(reg,'&');

  var tmpStr2 = set1.split('&');

  var array = new Array ;

  array[tmpStr2[0]] = tmpStr2[1] ;

  paramsArray.push(array);

  }

  }

  // 将参数数组进行返回

  return paramsArray ;

  }

  // 根据参数名称获取参数值

  function getParamValue(name)

  {

  var paramsArray = getUrlParams();

  if(paramsArray != null)

  {

  for(var i = 0 ; i < paramsArray.length ; i ++ )

  {

  for(var j in paramsArray[i] )

  {

  if( j == name )

  {

  return paramsArray[i][j] ;

  }

  }

  }

  }

  return null ;

  }

  当前我们的页面地址是http://www.glzy8.com/tatame/admin/EditPosts.aspx?opt=1

  可以看到url上含有一个参数

  var opt = getParamValue("opt") ;

  alert(opt);弹出为1了 。

  

复制代码 代码如下:

  /********

  接收地址栏参数

  key:参数名称

  **********/

  function GetQuery(key) {

  var search = location.search.slice(1); //得到get方式提交的查询字符串

  var arr = search.split("&");

  for (var i = 0; i < arr.length; i++) {

  var ar = arr[i].split("=");

  if (ar[0] == key) {

  return ar[1];

  }

  }

  }

  在页面加载调用GetQuery('test')这个函数就好了,非常实用