Некоторое время использовал приведенный ниже код, но недавно обнаружил проблему со строкой base64_encode в URL, имеющей == в конце, например: /index.php?a=1&b=2&c=Mw==&d=4.
Использование getUrlVar ("c") дает мне "Mw" в качестве результата, но это должно быть "Mw ==", поэтому добавлена дополнительная строка:
$.extend({
getUrlVars: function(){
var vars = [], hash;
var hashes = $('.popuptest a').attr("href").slice($('.popuptest a').attr("href").indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
if (hash.length > 2) hash[1] = hash.slice(1).join('=');
vars[hash[0]] = hash[1];
}
return vars;
},
getUrlVar: function(name){
return $.getUrlVars()[name];
}
});