我是JavaScript的noob,并希望使用Prototype JS Framework来获取一些URL参数。 想象一下,我当前的浏览器上有以下URL:
http://www.somewhere.com?param=abc
如何使用Prototype JS的任何函数或实用程序获取'param'
的值?
答案 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;