Ich habe heute ein kleines Spielchen mit JavaScript umgesetzt und kam dabei auf die Idee, die Einstellungen per Formular an das Script zu schicken. So etwas habe ich bereits mal bei jQuery gesehen, aber nicht näher drüber nachgedacht, wie das geht. So habe ich mich in den Tiefen des Netzes auf die Suche gemacht und bin auf eine völlig skurrille aber sehr praktische Methode gestoßen, auf diese Parameter zuzugreifen.
Der Kern der Sache ist folgende Funktion:
(function()
{
var s = window.location.search.substring(1).split('&');
if(!s.length) return;
var c = {};
for(var i = 0; i < s.length; i++)
{
var parts = s[i].split('=');
c[unescape(parts[0])] = unescape(parts[1]);
}
window.param = function(name){return name ? c[name] : c;}
}());
Dieser etwas kryptisch anmutende Codeblock ohne Namen ruft sich bei der Ausführung des Scripts selbst auf. Im Anschluss kann man dann mit param('parameter') auf die URL-Parameter zugreifen.
Angenommen man hat folgende URL:
http://domain.de/index.html?width=100
dann liefert param('width') den Wert 100.
Wenn man sich nicht darauf verlassen möchte, dass ein bestimmter Parameter übergeben wurde, kann man folgendes machen:
var width = !!param('width') ? param('width') : 50;
wobei 50 dann ein Default-Wert ist, der angenommen wird, wenn param('width') nicht definiert ist.
Eine praktische Anwendung für dieses Feature kann man auf
dieser Seite sehen.
Kommentare