使用Prototype JavaScript从当前URL获取URL参数

时间:2010-12-17 04:21:39

标签: javascript url parameters prototypejs

我是JavaScript的noob,并希望使用Prototype JS Framework来获取一些URL参数。 想象一下,我当前的浏览器上有以下URL:

http://www.somewhere.com?param=abc

如何使用Prototype JS的任何函数或实用程序获取'param'的值?

3 个答案:

答案 0 :(得分:11)

Prototype.js提供实用程序:

uri.toQueryParams();

答案 1 :(得分:4)

你真的不需要原型:

function get_param(param) {
   var search = window.location.search.substring(1);
   var compareKeyValuePair = function(pair) {
      var key_value = pair.split('=');
      var decodedKey = decodeURIComponent(key_value[0]);
      var decodedValue = decodeURIComponent(key_value[1]);
      if(decodedKey == param) return decodedValue;
      return null;
   };

   var comparisonResult = null;

   if(search.indexOf('&') > -1) {
      var params = search.split('&');
      for(var i = 0; i < params.length; i++) {
         comparisonResult = compareKeyValuePair(params[i]); 
         if(comparisonResult !== null) {
            break;
         }
      }
   } else {
      comparisonResult = compareKeyValuePair(search);
   }

   return comparisonResult;
}

var param_value = get_param('param'); //abc

答案 2 :(得分:4)

扩展Scott的答案:将URL变量'param'的值放入javascript变量'x'中你会像这样使用Prototype:

x = document.URL.toQueryParams().param;