mikdoe
Moderator
Spiele gerade mit localStorage rum, um mein Problem aus http://forum.jswelt.de/allgemeines/59100-java-applet-abfragen.html 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
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:
<!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>