Get-Parameter in JavaScript nutzen

Um URL-GET-Parameter in JavaScript nutzen zu können, kann man keinen direkten Zugriff wie in PHP verwenden. Oft findet man auch im Web hierzu bereits simple Snippets, welche aber in vielen Fällen fehlerhaft sind. Dies aber erst dann auffällt, wenn Umlaute und Sonderzeichen in der URL übergeben werden. Allerdings gibt es hierfür eine simple Abhilfe. Sehen wir uns zunächst einmal den Sourcecode dazu an (im Beispiel mit jQuery):

<script type="text/javascript">
    (function ($) {
        $.GET = (function(a) {
            if (a == "") return 'undefined';
            var b = { };
            for (var i = 0; i < a.length; ++i) {
                var p = a[i].split('=');
                if (p.length != 2) continue;
                b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
            }
            return (typeof(b) != 'undefined') ? b : 'undefined';
        })(window.location.search.substr(1).split('&'));
    })(jQuery);
</script>

Aufzurufen, bei der URL „http://kruse-familie.eu/?filter=JavaScript“ wäre das Ganze nun wie folgt:

var filter = $.GET['filter'];

Nun würde in der Variable „filter“ der Text „JavaScript“ stehen. Eigentlich simpel, aber oft nützlich.