|
Einleitung
Was ist das localSharedObject?
Erstellen des localSharedObject
Setzen der Werte
Auslesen der Werte
Beispiel
Was ist das localSharedObject?
Das localSharedOject ist eine neue, mächtige Funktion von Flash MX, die es den
Entwicklern erlaubt Daten lokal auf dem Rechner des Users zu speichern, ähnlich einem
Browsercookie. Durch die Möglichkeit Daten lokal zu speichern eröffnen sich dem Entwickler
mit Flash MX völlig neue Möglichkeiten, wie zum Beispiel ein User Profiling oder der
Speicherung der User Daten wie Einstellungen des Rechners (z.B. Auflösung, etc.) um Ihm
beim nächsten Besuch der Seite direkt eine angepasste Version der Seite bereitzustellen.
Abb.1: Die Einstellungen für das local shared object im Flash Player |
Bei jedem Entwickler wird sich nun als erstes die Frage auftun, was das
localSharedObject alles leisten kann.
Diese Frage lässt sich mit ein paar
Sätzen leicht klären:
![]()
Erstellen des localSharedObjects
Das localSharedObject wird mit der Methode getLocal erstellt. Das folgende Stück
Actionscript erstellt eine Variable mit dem Name local und weist diese dem shared
object mit dem Namen "teilmich" zu.
// localSharedObject erstellen
local = sharedobject.getLocal ("teilmich");
Sofern lokal noch kein localSharedObject mit dem Namen "teilmich" von der aktuellen Domain existiert, wird dies nun erstellt.
Der optionale Parameter localPath erlaubt es (etwas) Einfluss darauf zu nehmen, wo das LSO auf der Platte gespeichert wird (allerdings nur innerhalb des Flash Player Verzeichnisses. Dieser Pfad ist (oder beinhaltet) die URL wo der SWF Film liegt.
Lautet die Domain des Filmes also:
http://www.flashworker.de/movies/movie1.swf ,
so kann das localSharedObject beispielsweise auf den Pfad /movies/movie1.swf gelegt werden.
Das entsprechende Actionscript würde wie folgt aussehen:
local = sharedobject.getLocal ("teilmich", "movies/movie1.swf");
Denkbar wäre eine solche Lösung für Webseiten, die mehr als ein localSharedObject verwenden. Z.B. alle Filme einer Domain können auf einen Usernamen der in einem localSharedObject im root Level (setzt den localPath auf "/") gespeichert ist zugreifen, während eine andere Information speziell für einen anderen Film in einem loacl shared object gespeichert wird, dessen localPath Parameter für dieses Movie angepasst ist (localPath auf "/movies/movie1.swf" setzen).
Den Wert für das localSharedObject setzen
// eine Variable wählen die zum Inhalt des Textfeldes "UserName" passt.
Local.data.name = userName.text;
// die Variable "Counter" um eins erhöhen
local.data.counter++;
Die Daten werden in das LSO geschrieben, wenn der Film aus dem FlashPlayer gelöscht wird. Möchte man die Daten sofort sichern, kann dies mit der Methode flush() geschehen:
local.flush();
// dem TextFeld "anzeige" den Wert des Counters zuweisen
anzeige.text = "Du warst " +local.data.counter+ " mal hier.";
Da das localSharedObject "teilmich" schon lokal gespeichert wurde, können die Daten wie folgt ausgelesen werden:
local = sharedobject.getLocal ("teilmich");
Beispiel
Zuguterletzt möchte ich der Theorie noch ein Beispiel folgen lassen, dass die
Funktionalität des localSharedObjects nocheinmal verdeutlicht. In diesem Beispiel
wird der im Eingabefeld eingegebene Text im localSharedObject gespeichert und
beim nächsten Aufruf der Seite wieder ausgegeben. Der Text aus dem Eingabefeld
wird bei jeder Änderung im Textfeld oder auf Knopfdruck gespeichert.
Abb.1: Die Einstellungen für das local shared object im Flash Player |
Download der Beispieldateien: "beispiel.zip", ca. 10Kb