Gå til innhold

HTML5: localStorage: Finn ut om en localStorage-variabel existerer


Anbefalte innlegg

Hei.

 

Jeg ville få noen variabler som localStorage, men for at de skal kunne brukes må de jo først eksistere, og derfor prøver jeg å få en sjekk.

 

Først prøvde jeg det w3schools har på sin try it yourself sitt eksempel: http://www.w3schools...ocal_clickcount

Der er det altså

if (localStorage.clickcount)

som skal være det eneste som må til for at den skal finne ut om variabelen clickcount eksisterer.

Det funket av en eller annen grunn ikke da jeg prøvde det på min variabel, men funket da jeg prøvde akkurat den koden eksempelet viste.

 

Da søkte jeg rundt, og på denne nettsiden fant jeg noe: http://stackoverflow...k-if-item-isset

Det stod at hvis jeg brukte localStorage.getItem(variabelnavn) og den ikke finner variabelen, så vil den returnere null, så da brukte jeg denne koden:

if (localStorage.getItem("oveSpanskTallStatus") !== null)

, men det funker heller ikke, så hvorfor funker det ikke, og hva må jeg gjøre for at den skal funke?

 

 

Feilmeldingen som alltid kommer når jeg tar det via internet explorer sin feilsøking:

Kan ikke hente verdien for egenskapen oveSpanskTallStatus: objektet er null eller udefinert

 

Koden jeg har i denne funksjonen:

function start() {
if (typeof(Storage) == "undefined") {
document.getElementById("tall")="Beklager, men browseren din støtter ikke localStorage-funksjonen, så vår funksjon fungerer da ikke for deg.";
}
else {
if (localStorage.getItem("oveSpanskTallStatus") !== null) {
if (localStorage.oveSpanskTallStatus == "start") {
document.getElementById("tall").innerHTML='<button type="button" onclick="nyttTall()">Start</button>';
}
else if (localStorage.oveSpanskTallStatus == "svare") {
visNyttTall();
}
else if (localStorage.oveSpanskTallStatus == "harSvart") {
svaret();
}
}
else {
localStorage.oveSpanskTallStatus = "start";
localStorage.oveSpanskTallAntallRiktig = 0;
localStorage.oveSpanskTallAntallTesterTatt = 0;
start();
}
}
}

 

Håper at noen har svaret.

Endret av herdon
Lenke til kommentar
Videoannonse
Annonse

document.getElementById("tall")="Beklager, men browseren din støtter ikke localStorage-funksjonen, så vår funksjon fungerer da ikke for deg.";

 

Vet ikke om dette løser problemet for deg, men her mangler du vel innerHTML?!

 

document.getElementById("tall").innerHTML="Beklager, men browseren din støtter ikke localStorage-funksjonen, så vår funksjon fungerer da ikke for deg.";

Endret av agm
Lenke til kommentar

Prøve å endre

if (localStorage.getItem("oveSpanskTallStatus") !== null) {

til

if (localStorage.getItem("oveSpanskTallStatus") != null) {

for å sjekke om den reagerer på type.

 

I ett skript jeg fant så gjøres det slik

if(typeof(Storage)!=="undefined") {
 var oveSpanskTallStatus = localStorage.getItem("oveSpanskTallStatus");

 if ( oveSpanskTallStatus == null ) { return; }
 // resten av koden
}

 

Og så brukes

localStorage.setItem(varName, verdi);

for å lagre verdiene

Endret av Crowly
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...