naden.de Bookmarken

location.hash in Objekt umwandeln

18. August 2009 | In: Javascript

Auch bei Webseiten, die auf Ajax setzen ist es oft notwendig Deeplinks zu bestimmen Seiten bereitzustellen. Da bietet es sich an, die entsprechenden Parameter im Hash-Bereit der Url unterzubringen – in location.hash.

Der Link könnte wie folgt aussehen /videos#status=1&item=23&type=9. Um aus dieser Information automatisiert ein Javascript-Objekt zu erzeugen habe ich eine kleine Hilfsfunktion geschrieben.

function getParamstringAsObject(s) {
  var params = {}, count = 0;
 
  $(s.split('&')).each(function(i, item) {
    var tokens = item.split('=');
    params[tokens[0]] = tokens[1];
    count ++;
  });
 
  return count == 0 ? null : params;
}

getParamstringAsObject wandelt alle Strings der Form status=1&item=23&type=9 … in ein Objekt um, wo jeder Wert vor einem = zum Key und der folgende Wert zum Inhalt wird.

Aus unserem String wird dieses Objekt:

{status:1,
item:23,
type:9}

Die folgende Funktion erledigt nur noch eine Teilaufgabe und schneidet vor dem eigentlichen Funktionsaufruf das Hashmark vom Anhang von location.hash weg.

function getLocationHashAsObject() {
  return getParamstringAsObject(location.hash.substring(1));
}

Das so erhaltene Obejct lässt sich praktisch weiterverarbeiten. Es direkt an einen Ajax-Call weitergereicht oder sonstwie genutzt werden.

Bewertung: najagut
Loading ... Loading ...

Ähnliche Beiträge

Schreib einen Kommentar

Fülle das Kommentar-Formular vollständig aus oder melde dich über Twitter oder Facebook an.
Sign in with Facebook

By Teledir Internetanbieter