Bücher online kostenlos Kostenlos Online Lesen
JQuery Kochbuch (German Edition)

JQuery Kochbuch (German Edition)

Titel: JQuery Kochbuch (German Edition) Kostenlos Bücher Online Lesen
Autoren: jQuery Community Experts
Vom Netzwerk:
$.store('task-list',taskList); }
     else { $.remove('task-list'); }
    Falls das letzte Element der Liste entfernt wird, ist die Variable
taskList
leer. Dies führt dazu, dass die Funktion
store()
so ausgeführt würde, als ob man ihr nur einen Parameter anstatt zwei übergeben hätte. Übergibt man
store()
aber nur einen Parameter, wird der gespeicherte Wert für den Schlüssel ausgelesen und die gespeicherte Liste wird nicht geändert. Das Ziel ist aber, eine leere Liste zu speichern. Die Funktion
remove()
in der
else
-Klausel entfernt den Schlüssel
task-list
und seinen zugehörigen Wert. Damit kann man tatsächlich den gespeicherten Wert wie eine leere Liste behandeln.
    Diskussion
    Klassischerweise ließen sich Daten auf dem Client nur als Cookies speichern. Die Menge an Daten, die sich so speichern lassen, ist aber sehr begrenzt. Mittlerweile existieren aber bessere Alternativen. Die folgende Tabelle enthält die momentan verfügbaren Speichermechanismen und die entsprechende Verfügbarkeit in den Browsern.
     
Firefox
Safari
Internet Explorer
DOM Storage
2.0+
nein
8.0+
Gears
ja
ja
ja
Flash
ja
ja
ja
SQL Storage API
nein
3.1+
nein
userData Behaviour
nein
nein
5.0+
    DOM Storage und die SQL Storage API sind Teil der noch in Entwicklung befindlichen HTML-Standards. Daher können sie nicht mit einem so umfassenden Browser-Support dienen. Google Gears und Flash sind Browser-Plugins, die für das Speichern auf Client-Seite genutzt werden können. Der Internet Explorer hat schon seit einer ganzen Weile das userData Behaviour für das Speichern auf Client-Seite implementiert. Wenn man einen einzelnen Mechanismus für alle wichtigen Browser benötigt, bietet ein auf Flash oder Google Gears basierender Ansatz optimale Möglichkeiten. Allerdings müssen die Anwender dafür ein Browser-Plugin installieren.
    ----
    Warning
    Das Release 1.0.3 des jStore-Plugins enthält einen Fehler. Es muss ein Tippfehler korrigiert werden. Die Zeile 403 von
jquery.jstore-all.js
sollte wie folgt lauten:
return !!(jQuery.hasFlash('8.0.0'));
    ----
    Glücklicherweise bietet jStore (verfügbar unter http://plugins.jquery.com/project/jStore ) eine Abstraktionsschicht, die einen Browser-übergreifenden Speichermechanismus auf Client-Seite ermöglicht und in den meisten Fällen keine Browser-Plugins benötigt. jStore stellt eine einheitliche Schnittstelle für die eben aufgeführten Speichermechanismen bereit. Man kann zwar auch manuell einen Mechanismus auswählen, aber dieses Beispiel nutzt das jStore-Feature, um automatisch den passenden Speichermechanismus für den aktuell genutzten Browser auszuwählen. Testet man das Beispiel in verschiedenen Browsern, dann zeigt dieses Rezept die jeweils gewählten Speichermechanismen an.

Den Anwendungs-Status für eine einzelne Session speichern
    Problem
    Sie wollen Daten auf dem Client nur solange speichern, bis die aktuelle Session endet, also zum Beispiel das Fenster oder die Registerkarte geschlossen wird.
    Lösung
    In diesem Beispiel gibt es zwei HTML-Seiten. Jede Seite enthält eine Reihe von auswählbaren Elementen. Werden Elemente markiert oder wieder abgewählt, dann wird der Status der Seite gespeichert. Wenn Sie zwischen den beiden Seiten navigieren, sehen Sie, wie der Status einer Seite auf der gesamten Website beibehalten werden kann. Das Objekt
sessionStorage
wird für Daten verwendet, die nicht über den aktuellen Besuch der Site hinaus persistiert sein sollen:


    17.2 Den Anwendungs-Status für eine einzelne Session speichern
    
    



    

17.2 Den Anwendungs-Status für eine einzelne Session speichern


    Seite eins
    Seite zwei
    

    

    


    Beide HTML-Seiten (
one.html
und
two.html
) besitzen den gleichen Inhalt. Der folgenden JavaScript-Code kümmert sich darum, den Status jeder Seite zu verwalten, so dass man auf beiden Seiten immer den aktuellen Status sieht:
jQuery(document).ready(function() {
    $('.square').each(function(){
     if( sessionStorage[window.location + this.id] == 'true' ) {
     $(this).addClass('selected');
     }
    });

    $('.square').click(function() {
    

Weitere Kostenlose Bücher