Оказывается, все параметры, передаваемые в 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; }, });