Hallo Leute,
vielleicht kennt ihr den Artikel Wertübergabe mit JavaScript. Ich wünsche mir, dass den jemand weiterentwickelt. Was derzeit nur im Ausblick steht, kann man mittlerweile schon praktisch anwenden.
Ich habe ein robustes und zukünftsfähiges Fertigscript vor Augen, mit dem man komplexere Daten übertragen kann und die dazu nötigen Techniken je nach Verfügbarkeit gewählt werden - also eine Rundum-Sorglos-Allround-Lösung.
Meine Ideen:
Man übergibt z.b. storage.set ein Object-Literal:
storage.set({ name1 : "wert1" });
storage.set({ name2 : "wert2", name3 : "wert3" });
Alle Member werden dann in den »Speicher« kopiert.
Die Folgeseite soll das Namen-Werte-Paar nun auslesen können, z.B. storage.get("name") oder storage.getAll würde ein Object mit allen Membern ergeben. Über die interne Funktionsweise muss sich der Anwender keine Gedanken machen.
Zur Übertragung wird in erster Linie HTML 5 sessionStorage verwendet.
Steht das nicht zur Verfügung, werden Session-Cookies verwendet.
Kann kein Session-Cookie gesetzt werden bzw. wurde er abgelehnt, wird window.name verwendet.
Für Cookies und window.name wird das Object mit mit JSON serialisiert und ggf. kodiert, um in den Cookie-Wert zu passen. Dazu kann das Script native JSON-Implementierungen verwenden. Falls diese noch nicht zur Verfügung stehen, wird Douglas Crockfords JSON-Implementierung in JavaScript eingebunden (das Script kann »minified« mitgeliefert werden).
Letztlich müsste man sich über Sicherheitsfragen Gedanken machen, z.B. standardmäßig beim Auslesen den Speicher leeren - zumindest bei window.name.
Es wäre toll, wenn jemand ein solches oder ähnliches Fertigscript schreiben könnte, sodass wir es auf SELFHTML aktuell im Rahmen eines Artikels veröffentlichen können.
Mathias