localStorage


#1

Hallo erstmal, ich bin hier auf bplaced noch recht neu und habe eine Frage :slight_smile: :
Ich arbeite gerade ein bisschen mit javascript und bin auf das localStorage System als netter Ersatz von Cookies gestoßen, allerdings gibt es da kleinere Probleme
Mein Code:

function greet() { name = localStorage.getItem("name"); if (name == "null" || name == null) { alert("Hallo, Fremder!"); name = prompt("Wie heißt du?"); localStorage.setItem("name", name); } else { alert("Hallo", + name + "!"); } }

Die funktion wird beim Laden der Seite aufgerufen:

Wenn der Name ausgegeben werden soll, steht da nur “Hallo” und weiter nichts :neutral_face: Ich habe das das letzte alert durch ein console.log ersetzt und es kam folgende Nachricht: “Hallo NaN!” NaN heißt doch so viel wie Not a Number, oder?! Wie kann man das Problem lösen?! Schon mal vielen Dank für Vorschläge :smiley:


#2

Nimm das Komma nach "Hallo" weg.

Nimm das Komma nach “Hallo” weg.


#3

Oh peinlich peinlich :whata: :astonished:
Aber vielen Dank :slight_smile:


#4

Ich hab auch meine 15 Minuten mit rumexperimentieren verschwendet, bis mir das Komma aufgefallen ist.


#5

:smiley: Ja sowas ist immer teuflisch!


#6

Noch eine Frage :slight_smile: :
Ich will, dass die Benutzer meiner Website den Hintergrund ändern können, aber irgendwie funktioniert das nur bei einer Seite, nämlich bei der mit dem Button :frowning:

Dieser Code wird beim Laden jeder Website ausgeführt:

function style() { background = localStorage.getItem("background"); if ( background == "null" || background == null) { background = "second"; document.all.body.style.backgroundImage = "url(stylesheets/hintergrund.png)"; } else if (background == "first") { document.all.body.style.backgroundImage = "url(stylesheets/hintergrund2.png)"; } else { document.all.body.style.backgroundImage = "url(stylesheets/hintergrund.png)"; } localStorage.setItem("background", background); }

Und dieser hier auf der Seite mit dem Button:

function styleAendern() { if (background == "first") { document.all.body.style.backgroundImage = "url(stylesheets/hintergrund.png)"; background = "second"; } else { document.all.body.style.backgroundImage = "url(stylesheets/hintergrund2.png)"; background = "first"; } localStorage.setItem("background", background); }//Ende styleAendern
Es ist irgendwie komisch, da sich background auf den anderen Seiten auch ändert, aber eben nicht das Hintergrundbild :open_mouth:


#7

[quote=“julianwindeck”]Noch eine Frage :slight_smile: :
Ich will, dass die Benutzer meiner Website den Hintergrund ändern können, aber irgendwie funktioniert das nur bei einer Seite, nämlich bei der mit dem Button :frowning:

Dieser Code wird beim Laden jeder Website ausgeführt:

function style() { background = localStorage.getItem("background"); if ( background == "null" || background == null) { background = "second"; document.all.body.style.backgroundImage = "url(stylesheets/hintergrund.png)"; } else if (background == "first") { document.all.body.style.backgroundImage = "url(stylesheets/hintergrund2.png)"; } else { document.all.body.style.backgroundImage = "url(stylesheets/hintergrund.png)"; } localStorage.setItem("background", background); }

Und dieser hier auf der Seite mit dem Button:

function styleAendern() { if (background == "first") { document.all.body.style.backgroundImage = "url(stylesheets/hintergrund.png)"; background = "second"; } else { document.all.body.style.backgroundImage = "url(stylesheets/hintergrund2.png)"; background = "first"; } localStorage.setItem("background", background); }//Ende styleAendern
Es ist irgendwie komisch, da sich background auf den anderen Seiten auch ändert, aber eben nicht das Hintergrundbild :O[/quote]

stylesheets/hintergrund2.png und darunter sind wirklich die hintergründe??