var GET = {};
(function() {
var components = location.search.substr(1).split('&');
var name;
var value;
var eqPos;
for (var i = 0; i < components.length; ++i) {
eqPos = components[i].indexOf('=');
if (eqPos == -1) {
name = components[i];
value = '';
} else {
name = components[i].substr(0, eqPos);
value = components[i].substr(eqPos+1).replace(/\+/g, ' ');
}
if (name != '') {
GET[decodeURIComponent(name)] = decodeURIComponent(value);
}
}
})();
%-escapning stöds och tolkas som UTF-8, som sig bör. "+" i värdet ersätts med mellanslag. Om samma namn finns flera gånger används det sista. Ett namn kan inte vara den tomma strängen (tex i "?=test&hej=du" finns det bara "hej" i GET).
Exempel på användning:
// dokumentets adress är ...?test=Hall%C3%A5+d%C3%A4r
if ('test' in GET) {
alert(GET.test); // alert:ar "Hallå där"
} else {
alert('Ingen query-parameter "test"');
}