Alert meldung nur einmal anzeigen lassen pro Tag

Guri

Mitglied
Hallo Leute, ich brauch wieder mal eure hilfe,

ich will realiesieren ein kliene script, wenn ein besucher besucht die seite, soll nur einmal alert meldung angezeigt werden pro Tag, wenn er ernuet kommt am selben Tag soll es nicht mehr angezeit weden, das script ist wie folgt:

Code:
<!DOCTYPE html>
<html>
<body>

<script>
var datum = new Date();
var stunde = datum.getHours();

if (stunde > 8 && stunde < 12) { alert ("Es ist Vormittag!") }
</script>

</body>
</html>


dise script functioniert, aber bei jeden besuch oder bei seite neuladen. kommt immer die alert meldung, wie kann ich verhindern das die meldung nur einmal pro tag kommt, oder am besten zwieschen 8 Uhr und 12 Uhr nur einmal,

übrigins durch suchen in internet und foren habe ich keine lösung gefunden, es sollte irgend wie mit Cookies oder auf Cookies gespeihert werden, aber die Frage lautet immr wie mache ich es,

ich bedanke mich im Voraus, viele Grüße Guri.
 
Auch wenn @ComFreek eine Lösung für dich hat, was grundsätzliches von mir :)
übrigins durch suchen in internet und foren habe ich keine lösung gefunden, es sollte irgend wie mit Cookies oder auf Cookies gespeihert werden, aber die Frage lautet immr wie mache ich es,
Stellt sich die Frage nach den definierten Suchbegriffen ;)

Mit javascript cookie schreiben und javascript cookie auslesen finden sich ausreichend Anleitungen, die nicht in einem Forum ein individuelles/spezifisches Problem erörtern/behandeln, was auf deinen Fall nicht zutrifft.
 
Hallo @SpiceLab, ich stmme zu, mann muss nur die richtige suchbegrif schreiben und dann klappt es, aber abundzu ist, wie sagt man auf deutsch "man sieht den Wald nicht von lauter Bäumen" ;-),

Dank @ComFreek habe es gelöst, in dise form:
Javascript:
var datum = new Date();
var stunde = datum.getHours();
if (stunde > 8 && stunde < 12) {

    var show = false;
    if (typeof localStorage['popup'] === 'undefined') {
      localStorage['popup'] = Date.now();
      show = true;
    }
    else {
      var diff = Date.now() - parseInt(localStorage['popup'], 10);
      // 1 stunde
      if (diff > 1000 * 60 * 60) {
        show = true;
      }
      localStorage['popup'] = Date.now();
    }
    if (show) {
        alert ("Es ist Vormittag!");
    }

}

ob ist es alles richtig so, weiss ich es noch nicht, aber es scheint zu funktionieren,

aber habe ich noch nicht verstanden die 10 hier:
var diff = Date.now() - parseInt(localStorage['popup'], 10);

danke noch mal @ComFreek und viele Grüße Guri.
 
Zuletzt bearbeitet:
Zwei Anmerkungen noch:

1) Das Skript wartet nicht einen Tag, sondern nur eine Stunde. Du musst die IF-Bedingung so abändern:
Javascript:
// 1 day
if (diff > 1000 * 60 * 60 * 24) {
  show = true;
}

2) Die Aussage "Es ist Vormittag." macht für mich keinen Sinn, da ich die Seite auch nachts aufrufen kann und es keine zusätzliche Prüfung für die aktuelle Tageszeit gibt.

aber habe ich noch nicht verstanden die 10 hier:
Schau in einer JS-Dokumentation nach: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt
 
Zurück