Оказывается, все параметры, передаваемые в URL get-запросом. лежат в свойстве location.search. Как-то так: "?foo=boo".
А значит, старый код можно переписать ещё раз:
А значит, старый код можно переписать ещё раз:
$.extend({
getUrlStr : function() {
//used for unit test
return location.search.substr(1);
},
getUrlVars : function(){
var vars = {},
hashes = this.getUrlStr();
if(!hashes)
return {};
hashes = hashes.split('&');
for(var i = 0, len = hashes.length; i < len; i++) {
var hash = hashes[i].split('=');
vars[hash[0]] = hash[1];
}
return vars;
},
urlVars : null,
getUrlVar : function(key) {
if(!key) return null;
if(!this.urlVars) this.urlVars = this.getUrlVars();
return (this.urlVars[key] !== undefined) ? this.urlVars[key] : null;
},
});