Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:blc:informatik:ffprg2-2023:localstorage [2023/08/14 08:29] Ivo Blöchliger |
lehrkraefte:blc:informatik:ffprg2-2023:localstorage [2023/09/03 07:04] (current) Ivo Blöchliger [Aufgaben] |
||
---|---|---|---|
Line 90: | Line 90: | ||
<div class=" | <div class=" | ||
<div class=" | <div class=" | ||
- | Welche URL hat keinen Zugriff auf localStorage? | + | Welche URL hat eventuell |
</ | </ | ||
<div class=" | <div class=" | ||
Line 116: | Line 116: | ||
</ | </ | ||
| | ||
+ | ===== Vor- und Nachteile ===== | ||
+ | * Super für Datenschutz: | ||
+ | * Trivial einfach serverseitig: | ||
+ | * An einen bestimmten Browser und Gerät gebunden. Wechselt man den Browser oder das Gerät, sind die Daten nicht verfügbar. | ||
+ | * Mögliche Abhilfe: «Download» in lokale Datei, danach «Upload» in anderem Browser/ | ||
+ | |||
===== Aufgaben ===== | ===== Aufgaben ===== | ||
<WRAP todo> | <WRAP todo> | ||
Line 127: | Line 133: | ||
* Die Eingabe eines Names überschreibt den alten Namen | * Die Eingabe eines Names überschreibt den alten Namen | ||
* Der Vergiss-mich Knopf löscht den Namen aus der localStorage. | * Der Vergiss-mich Knopf löscht den Namen aus der localStorage. | ||
+ | |||
</ | </ | ||
<WRAP todo> | <WRAP todo> | ||
- | Machen Sie eine zweite | + | Machen Sie eine zweite |
Siehe auch https:// | Siehe auch https:// | ||
+ | |||
+ | Lösungsvorschlag: | ||
+ | |||
</ | </ | ||
+ | ==== Highscoreverwaltung ==== | ||
<WRAP todo> | <WRAP todo> | ||
- | Schreiben Sie eine Highscore-Verwaltung. | + | Schreiben Sie eine Highscoreverwaltung. |
Zum Testen machen Sie zwei Eingabefelder für das Score und den Namen. | Zum Testen machen Sie zwei Eingabefelder für das Score und den Namen. | ||
Line 142: | Line 153: | ||
Überlegen Sie sich eine geeignete Datenstruktur (Object, Array) für eine Highscore-Liste. Diese kann mit in einen String und zurück verwandelt werden mit: | Überlegen Sie sich eine geeignete Datenstruktur (Object, Array) für eine Highscore-Liste. Diese kann mit in einen String und zurück verwandelt werden mit: | ||
<code javascript> | <code javascript> | ||
- | | + | let data = {" |
| | ||
- | | + | // string aus Object/ |
- | let zeichenkette = JSON.stringify(data); | + | let zeichenkette = JSON.stringify(data); |
| | ||
- | | + | // Wieder ein Object/ |
- | let copy = JSON.parse(zeichenkette); | + | let copy = JSON.parse(zeichenkette); |
</ | </ | ||
Stellen Sie die 10 besten Scores in einer Tabelle dar. | Stellen Sie die 10 besten Scores in einer Tabelle dar. | ||
+ | </ | ||
+ | |||
+ | ==== Todo-Liste ==== | ||
+ | |||
+ | <WRAP todo> | ||
+ | Hier finden Sie den Anfang eine ganz einfachen Todo-Liste: {{lehrkraefte: | ||
+ | |||
+ | Diese enthält Einträge, die direkt editierbar sind. Alle Änderungen werden sofort in localStorage gespeichert und bleiben so erhalten. | ||
+ | |||
+ | Mögliche Erweiterungen: | ||
+ | * Möglichkeit, | ||
+ | * Bessere Darstellung (CSS). | ||
+ | * Möglichkeit, | ||
+ | * ... | ||
</ | </ |