Antwort
von
nach 5 Stunden
0
hilfreich
Re: Website erstellen
Hallo Siegfried,
es gibt für eine solche Anforderung verschiedene Lösungsansätze, je nachdem wie viel Mühe man bereit ist in das Projekt zu stecken. Basis aller Lösungen muss sein, dass man sich nicht nicht einloggen muss, so dass die Startseite beim Browseraufruf gleich zur Verfügung steht. (Richtig?)
1. Javascript + Cookies
Javascript ist natürlich für das Handling der Bookmarks (Drag & Drop, Close, etc.) die Basis. (Am besten ein JavaScript Framework verwenden, das schon viele der benötigten Funktionen mitbringt - sonst programmierst Du Dich tot.) Aber auch das Speichern könnte rein über Javascript realisiert werden, da Du über Javascript in allen aktuellen Browsern Zugriff auf die Cookies hast.
(Google nach "document.cookie".)
Insofern stimmt also Deine Annahme, dass JavaScript nichts speichert nicht. Nachteil ist aber: Die individuelle Startseite ist verloren, wenn der Cookie gelöscht wird.
2. URL Parameter
Wenn ich so etwas realisieren wollte und auf serverseitige Speicherung verzichten müsste, würde ich die Auswahl und Position der Elemente direkt im URL.String als Parameter vercoden und mit Javascript auswerten.
So könnte dann die URL aussehen:
www.xyzabcqwerz.de?myelems=1,1,20-1,2,14-2,1,15
Wird mit dieser URL die Seite aufgerufen, weiß Javascript, dass es in Box1 an Position 1 das Element 20 plazieren soll, in Box 1 an Platz 2 das Elemnt 14 und in Box 2 an Platz 1 das Element 15. Du sprachst von bereitgestellten Elementen - will man aber auch eigene Elemente zulassen, müsste nur die Logik erweitert werden - z.B.: ,2,2,1%3Ameine%2Bseite%28http%3A%2F%2Fwww.meineseite.de%29
(Google nach "javascript URL parameter")
Ändert der Nutzer die Elemente-Auswahl und möchte seine Änderungen speichern, wird mit Javascript der entsprechende Parameterstring erzeugt und die Seite damit neu aufgerufen und anschließend versucht, die Startseite im Browser auf die neue URL zu ändern. ("versucht", weil das nicht immer klappt - ggf. muss der User explizit die Änderung bestätigen oder freigeben)
Das sieht zwar nicht elegant aus, aber funktioniert ohne Server. Nachteil ist die notwendige "Änderung" der Browser-Startseite, wenn sich Elemente verändern.
3. Serverseitige Speicherung
Meine Wahl wäre diese dritte Variante. Der Nutzer registriert sich einmal und erhält so seine ID. Diese ID wird in einem Cookie gespeichert. Ändert der Nutzer die Elementeauswahl oder -anordnung, wird SOFORT im Hintergrund per Ajax der Server darüber informiert und speichert diese Änderung hinter der Nutzer-ID. Ruft der Nutzer bei seinem nächsten Besuch die Seite auf, wird ihm seine persönliche Auswahl angezeigt.
Für die Anzeige gibt es wieder verschiedene Möglichkeiten:
a) Es wird immer die gesamte Auswahl geladen und per Javascript angeordnet, oder
b) Es werden jeweils nur die benötigten Elemente per Ajax geladen, was Traffic spart.
In beiden Fällen hilft Dir bei der Realisierung ein passendes JavaScript-Framework, welches UI-Funktionen (User-Interface) und Animationseffekte mitbringt und für die Serverzugriffe (Ajax) sorgt.
Ich kann Dir dafür jQuery empfehlen (http://www.jquery.com) - bluka.de nutzt das Framekwork
Prototype (http://www.prototypejs.org/)
Ich hoffe, das hilft Dir weiter.
Viel Erfolg und Grüße,
Miran Melansek