Ergebnis 1 bis 6 von 6
  1. #1
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.725

    [localStorage] ein paar Beispiele

    Spiele gerade mit localStorage rum, um mein Problem aus http://forum.jswelt.de/allgemeines/5...-abfragen.html (Java Applet abfragen) zu lösen.
    Muss sagen, verblüffend einfach. Ist zwar nicht browser- aber instanzübergreifend. Das heißt, man kann pro Browser ein Storage nutzen oder dies auch instanzabhängig (pro Tab/Fenster) machen, dann nutzt man nicht das Schlüsselwort localStorage sondern sessionStorage

    Wer Lust hat, kann gern ein bisschen mit rumspielen

    HTML-Code:
    <!DOCTYPE html>
    <html>
    <head>
    	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
    	<title>Fenstertitel</title>
    	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    	<script>
    	function check_localStorage() {
    		try {
    			localStorage.setItem('test','test');
    			if (localStorage.getItem('test') == 'test') {
    				localStorage.removeItem('test');
    				throw true;
    			}
    			else { throw false; }
    		}
    		catch(e) { return (e ? true : false); }
    	}
    	function gib_datum(dateobj) {
    		var tag = dateobj.getDate();
    		if (tag < 10) { tag = '0'+tag; }
    		var monat = dateobj.getMonth()+1;
    		if (monat < 10) { monat = '0'+monat; }
    		var jahr = dateobj.getFullYear();
    		return tag+'.'+monat+'.'+jahr;
    	}
    	</script>
    	<style type="text/css">
    	body {
    		font-family:	"Arial";
    	}
    	input {
    		cursor:			pointer;
    	}
    	</style>
    </head>
    <body>
    	<div id="ausgabe"></div>
    	<input type="button" value="Normaler Test" id="btn_normal">
    	<input type="button" value="Test mit date Objekt" id="btn_date">
    	<script>
    	jQuery('#btn_date').click(function() {
    		if (check_localStorage) {
    			jQuery('#ausgabe').append('<br>localStorage wird von diesem Browser unterstützt');
    			jQuery('#ausgabe').append('<br>Schreibe Datum Objekt in key "obj"');
    			var dobj = new Date();
    			localStorage.setItem('obj',dobj);
    			jQuery('#ausgabe').append('<br>Lese Datum');
    			var saveobj = new Date(localStorage.getItem('obj'));
    			jQuery('#ausgabe').append('<br>Gespeichert war: '+gib_datum(saveobj));
    		}
    		else { jQuery('#ausgabe').append('<br>Kein localStorage vefügbar!'); }
    	});
    
    	jQuery('#btn_normal').click(function() {
    		if (check_localStorage) {
    			jQuery('#ausgabe').append('<br>localStorage wird von diesem Browser unterstützt');
    			jQuery('#ausgabe').append('<br>Lese key "varname" aus');
    			var val = localStorage.getItem('varname');
    			if (val == 'inhalt') {
    				jQuery('#ausgabe').append('<br>Wert ist da und wird wieder gelöscht');
    				localStorage.removeItem('varname');
    			}
    			else {
    				jQuery('#ausgabe').append('<br>Schreibe key "varname" mit Value "inhalt"');
    				localStorage.setItem('varname','inhalt');
    				jQuery('#ausgabe').append('<br>Fertig, bitte in einem neuen Fenster oder einer neuen Instanz die Seite nochmal aufrufen und schauen, ob der Wert noch da ist');
    			}
    		}
    		else { jQuery('#ausgabe').append('<br>Kein localStorage vefügbar!'); }
    	});
    	</script>
    </body>
    </html>

  2. #2
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.706

    AW: [localStorage] ein paar Beispiele

    Deine check_localStorage-Funktion ist etwas seltsam und liefert auch true, wenn der Browser localStorage gar nicht unterstützt.
    Code:
    function checkLocalStorage() {
    	try {
    		localStorage.setItem('test','test');
    		if (localStorage.getItem('test') == 'test') {
    			localStorage.removeItem('test');
    			return true;
    		}
    		return false;
    	}
    	catch(e) { return false; }
    }
    Aber ich würde da sowieso nur auf die Existenz von window.localStorage, localStorage.setItem(), localStorage.getItem() und localStorage.removeItem() prüfen...

  3. #3
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.725

    AW: [localStorage] ein paar Beispiele

    Zitat Zitat von kkapsner Beitrag anzeigen
    Aber ich würde da sowieso nur auf die Existenz von window.localStorage, localStorage.setItem(), localStorage.getItem() und localStorage.removeItem() prüfen...
    Wie macht man das?

  4. #4
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.706

    AW: [localStorage] ein paar Beispiele

    Ganz einfach:
    Code:
    if (window.localStorage && localStorage.setItem && localStorage.getItem && localStorage.removeItem){
    	// mach was mit localStorage
    }

  5. #5
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.725

    AW: [localStorage] ein paar Beispiele

    Danke dir. Werde das einbauen.

  6. #6
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.706

    AW: [localStorage] ein paar Beispiele

    Bitte - gern geschehen.

Ähnliche Themen

  1. Löschen von localStorage (key, value)
    Von DanielBiber_ im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 13-01-2014, 18:19
  2. Liste per localstorage speichern?
    Von Headhunter1 im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 06-05-2012, 21:43
  3. localStorage, ich kapiers nicht
    Von emmell70 im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 24-05-2011, 00:09
  4. Antworten: 3
    Letzter Beitrag: 24-06-2008, 19:22
  5. Kommerzielle Beispiele für valide Seiten
    Von Uhu911 im Forum Allgemeines
    Antworten: 7
    Letzter Beitrag: 13-12-2005, 18:46

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •