1. Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!
    Information ausblenden

Frage Zahl einer Webseite festhalten (zwischenspeichern/merken)

Dieses Thema im Forum "JavaScript" wurde erstellt von mdeiss, 19 Mai 2017.

  1. mdeiss

    mdeiss Neues Mitglied

    Registriert seit:
    19 Mai 2017
    Beiträge:
    6
    Punkte für Erfolge:
    1
    Hallo Zusammen.
    Ich habe JavaScript erstellt, das auf eine Seite einwirkt. Das Problem ist jedoch das ich eine Zahl nicht festhalten (zwischenspeichern/merken) kann, sodass mein Script nicht funktioniert. Deshalb meine Frage an euch, wie kann man das machen? Jedoch sollte ich diese Zahl dann später auch überschreiben können.
    Danke schon im Voraus.
     
    Werbung:

    Jetzt registrieren, damit diese Werbung verschwindet
  2. scbawik

    scbawik Senior HTML'ler

    Registriert seit:
    14 Juli 2011
    Beiträge:
    2.232
    Punkte für Erfolge:
    83
    localStorage?
    https://developer.mozilla.org/de/docs/Web/API/Window/localStorage
     
  3. mdeiss

    mdeiss Neues Mitglied

    Registriert seit:
    19 Mai 2017
    Beiträge:
    6
    Punkte für Erfolge:
    1
    Ich werde es mal damit probieren, aber ich habe noch eine Frage dazu.
    Ich habe ja eine Variable für die Zahl 25 auf einer Webseite gemacht, die Variable nenne ich jetzt einfach mal:
    var = test; und dann wenn ich es dann so schreibe: localStorage.setItem("key1", "test"); Wird dann mir später der Wert der Variable ausgegeben, also 25 oder einfach nur var = test ?
     
  4. Tronjer

    Tronjer Moderator Team Moderator

    Registriert seit:
    8 Oktober 2010
    Beiträge:
    4.758
    Punkte für Erfolge:
    83
    Warum versuchst du es nicht einfach selber?

    console.log(localStorage.getItem('key1'));
     
  5. mdeiss

    mdeiss Neues Mitglied

    Registriert seit:
    19 Mai 2017
    Beiträge:
    6
    Punkte für Erfolge:
    1
    Ich habs probiert. :)
    Ging leider nicht und jetzt ich weiß ich nicht wie ich das machen sollte, das es so funktioniert, wie ich es will.
     
  6. Sempervivum

    Sempervivum Mitglied

    Registriert seit:
    18 Oktober 2016
    Beiträge:
    125
    Punkte für Erfolge:
    18
    Wie hast Du es denn probiert und was funktionierte nicht?
    Dies sollte funktionieren:
    Code (text):
    1. var deine_variable = 25;
    2. // schreiben:
    3. localStorage.setItem('key1', deine_variable);
    4. // lesen:
    5. deine_variable = localStorage.getItem('key1');
    So:
    Code (text):
    1. localStorage.setItem("key1", "test");
    schreibst Du die Zeichenfolge "test" und nicht den Inhalt der Variablen.
     
  7. mdeiss

    mdeiss Neues Mitglied

    Registriert seit:
    19 Mai 2017
    Beiträge:
    6
    Punkte für Erfolge:
    1
    Also so wie das du das geschrieben hast geht das nicht. Ich habe ein Script das auf eine Webseite einwirkt, demnach von außen und das ist nicht meine Webseite sondern, nur eine Hilfe zum Benutzen der Webseite.
    Bis jetzt habe ich das:
    Code (text):
    1.  var test = $("#Zahl_der_Webseite");
    2.  
    3. function Zahl_der_Webseite_bekommen(){
    4.    return parseInt(test.text());
    5. }
    6.  
    7. console.log(parseInt(test.text()));
    8.  
    9. localStorage.setItem("key1", "parseInt(test.text())");
    10. console.log(localStorage.getItem('key1'));
    11.  
    Und bei der ersten Konsolenausgabe, bekomme ich die Zahl(hier im Beispiel 25) und bei der zweiten bekomme ich nur parseInt(test.text()).
    Ich wollte es jetzt aber so hinbekommen, das im localStorage nicht parseInt(test.text()) , sondern die Zahl 25 gespeichert wird.
     
  8. Sempervivum

    Sempervivum Mitglied

    Registriert seit:
    18 Oktober 2016
    Beiträge:
    125
    Punkte für Erfolge:
    18
    Doch, wie ich es geschrieben habe, funktioniert es schon, Du hast es nur nicht so gemacht, wie ich es geschrieben habe:
    Code (text):
    1. console.log(parseInt(test.text()));
    2. localStorage.setItem("key1", "parseInt(test.text())");
    3. console.log(localStorage.getItem('key1'));
    Der Grund ist, dass Du parseInt(test.text()) in Hochkommas gesetzt hast. So wird es funktionieren:
    Code (text):
    1. localStorage.setItem("key1", parseInt(test.text()));
     
    mdeiss gefällt das.
  9. mdeiss

    mdeiss Neues Mitglied

    Registriert seit:
    19 Mai 2017
    Beiträge:
    6
    Punkte für Erfolge:
    1
    Danke. ;)
    Nur wie kann ich, wenn ich den Wert aus dem localStorage herraus hole eine lokale Variable zuorden, sodass die Variable der Zahl entspricht? Ich habe es mal so probiert ging aber nicht.
    Code (text):
    1.  
    2. function localStorage(){
    3.     localStorage.getItem('key1');
    4.     var abc = localStorage.getItem('key1');
    5. }
    6.  
     
  10. Sempervivum

    Sempervivum Mitglied

    Registriert seit:
    18 Oktober 2016
    Beiträge:
    125
    Punkte für Erfolge:
    18
    Der Begriff localStorage ist durch Javascript festgelegt und Du solltest keine Funktion mit dem selben Namen anlegen.
    Du hast die Variable abc lokal defininiert, d. h. außerhalb der Funktion ist sie nicht sichtbar:
    Code (text):
    1. function locStorage(){
    2.     // localStorage.getItem('key1');  Dieses tut überhaupt nichts
    3.     var abc = localStorage.getItem('key1');
    4.     console.log(abc); // Hier kannst Du auf die Variable zugreifen
    5. }
    6. locStorage();
    7. console.log(abc); // Hier ist die Variable nicht sichtbar
     
  11. mdeiss

    mdeiss Neues Mitglied

    Registriert seit:
    19 Mai 2017
    Beiträge:
    6
    Punkte für Erfolge:
    1
    Vielen Dank für deine Hilfe! :)