Hallo,
ich habe eine index-Seite mit einem Cookie-Hinweis als Popup erstellt.
Dieser Hinweis soll, nachdem man Cookies akzeptiert hat, erst nach 30 Tagen erneut erscheinen.
Das Script habe ich aus einem YouTube-Tutorial. Daraufhin habe ich erfolgreich in Html das Popup erstellt und mit CSS gestylt.
In Java habe ich die Funktion des "Akzeptieren"-Buttons eingerichtet. Laut dem Script soll der Cookie-Hinweis erst in 30 Tagen erneut gezeigt werden.
Und das funktioniert leider nicht. Stattdessen erscheint der Cookie-Hinweis nach jedem Reload der Seite erneut!
Wenn ich im Mozilla-Browser die Seite untersuchen lasse, wird mir angezeigt, dass tatsächlich Cookies für 30 Tage gespeichert werden. Das passiert, wenn ich den "Akzeptieren"-Button angeklickt habe. Lade ich die Seite erneut, erscheint der Cookie-Hinweis wieder! Die Untersuchung der Seite zeigt mir aber, dass Cookies für 30 Tage gespeichert wurden. Demnach dürfte der Cookie-Hinweis nicht erscheinen.
Wo liegt der Fehler? Für Hinweise und Tipps bin ich dankbar!
Hier alle Scripte:
HTML
	
	
	
		
CSS
	
	
	
		
JAVASCRIPT
	
	
	
		
				
			ich habe eine index-Seite mit einem Cookie-Hinweis als Popup erstellt.
Dieser Hinweis soll, nachdem man Cookies akzeptiert hat, erst nach 30 Tagen erneut erscheinen.
Das Script habe ich aus einem YouTube-Tutorial. Daraufhin habe ich erfolgreich in Html das Popup erstellt und mit CSS gestylt.
In Java habe ich die Funktion des "Akzeptieren"-Buttons eingerichtet. Laut dem Script soll der Cookie-Hinweis erst in 30 Tagen erneut gezeigt werden.
Und das funktioniert leider nicht. Stattdessen erscheint der Cookie-Hinweis nach jedem Reload der Seite erneut!
Wenn ich im Mozilla-Browser die Seite untersuchen lasse, wird mir angezeigt, dass tatsächlich Cookies für 30 Tage gespeichert werden. Das passiert, wenn ich den "Akzeptieren"-Button angeklickt habe. Lade ich die Seite erneut, erscheint der Cookie-Hinweis wieder! Die Untersuchung der Seite zeigt mir aber, dass Cookies für 30 Tage gespeichert wurden. Demnach dürfte der Cookie-Hinweis nicht erscheinen.
Wo liegt der Fehler? Für Hinweise und Tipps bin ich dankbar!
Hier alle Scripte:
HTML
		HTML:
	
	<!DOCTYPE html>
<html lang="de-DE">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">   
    <meta name="description" content="Internetradio mit dem besten Mix aus Clubbing und Oldschool. Vocal-House | Dutch-House | Latin-House | Classic-House | Electro | 70er | 80er |90er"/>
    <link rel="canonical" href="http://www.hitxl.de/" />
    <meta property="og:locale" content="de_DE" />
    <meta property="og:type" content="website" />
    <meta property="og:title" content="hitXL - Internetradio | Der beste Mix aus Clubbing und Oldschool" />
    <meta property="og:description" content="Internetradio mit dem besten Mix aus Clubbing und Oldschool. Vocal-House | Dutch-House | Latin-House | Classic-House | Electro | 70er | 80er |90er" />
    <meta property="og:url" content="http:www//hitxl.de/" />
    <meta property="og:site_name" content="hitXL" />
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:description" content="Internetradio mit dem besten Mix aus Clubbing und Oldschool. Vocal-House | Dutch-House | Latin-House | Classic-House | Electro | 70er | 80er |90er" />
    <meta name="twitter:title" content="hitXL - Internetradio | Der beste Mix aus Clubbing und Oldschool" />
    <title>hitXL - Der beste Mix | hitXL 1 - CLUBSOUND | hitXL 2 - OLDSCHOOL</title>
    
    <script src="https://kit.fontawesome.com/017df30a84.js" crossorigin="anonymous"></script>
    <link rel="stylesheet" type="text/css" href="http://www.hitxl.de/css/fontawesome.min.css">
    <link rel="stylesheet" type="text/css" href="http://www.hitxl.de/css/style.css">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@400;700&display=swap" rel="stylesheet">
<!-- Favicon----------------------------------------->
    <link rel="shortcut icon" type="image/x-icon" href="http://www.hitxl.de/hitxl_logo.ico">
  </head>
 
  <body>
<!-- Cookies zustimmen------------------------------>
<div id="cookies">
  <div class="container">
    <div class="subcontainer">
      <div class="cookies">
        <img src="http://www.hitxl.de/images/hitxl_logo_1.png" alt="Logo"/>
        <p id="schrift_cookies">
        <b>hitXL ist und bleibt transparent für Dich!</b><br><br>
          Hallo, <b>hitXL</b> verwendet essentielle Cookies,<br>
          um ihren ordnungsgemäßen Betrieb zu gewährleisten,<br>
          ferner werden Tracking-Cookies eingesetzt,<br>
          die von Drittanbietern verwendet werden.<br>
          Damit Du die Seite besuchen kannst,<br>
          benötigen wir Deine Zustimmung. Unter<br>
          <a href="http://www.hitxl.de/cookie_datenschutz.html" target="_blank" id="link-text2"><b>IMPRESSUM & DATENSCHUTZ</b></a> siehst Du,<br>
          welche Anbieter Daten von Dir<br>
          erheben und wie Du Deine Zustimmung<br>
          zur Verwendung Deiner Daten widersprechen kannst!<br>
         </p>
         <button id="cookies-btn"><b>Akzeptieren</b></button>
      </div>
    </div>
  </div>
</div>
<script src="http://www.hitxl.de/cookie.js"></script>
    
<!-- Section: Oben logo und Startbutton------------->
<div id="index_position">
  <div id="index">   
    <div id="index_logo">
      <img src="http://www.hitxl.de/images/hitxl_logo.png" alt="Logo">
    </div>   
    <h7 data-text='HITXL 1 - CLUBSOUND    |    HITXL 2 - OLDSCHOOL'>HITXL 1 - CLUBSOUND    |    HITXL 2 - OLDSCHOOL</h7>
  </div>
  <div id="btn_index_container">
    <div class="btn_index" onclick="window.location.href='http://www.hitxl.de/hauptseite.html'">
      <span class="fa-solid fa-circle-play"></span>
    </div>
  </div>
<!-- Fußzeile: Copyright---------------------------->
<p id="java_meldung">Javascript muss aktiviert sein, damit diese Seite uneingeschränkt funktioniert - danke!</p>
<p id="index_schrift_copyright">© Copyright 2014<script>new Date().getFullYear()>2010&&document.write("-"+new Date().getFullYear());</script> by <a href="#" id="link-text2"><b>hitXL</b></a> | Die Radio-Streams sind ein Angebot der <b>LAUT AG</b></p>
</div>
<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
<script src="http://www.hitxl.de/js/mobile-menu.js"></script>
</body>
</html>
	CSS
		CSS:
	
	.container {
  width: 420px;
  min-height: 17vh;
  top: 7%;
  left: 45.5%;
  margin: auto;
  background: #2b2b2b;
  border: #2ce1e7 solid 2px;
  border-radius: 15px;
  height: 485px;
  margin: 200px;
}
.subcontainer {
  width: 85%;
  margin: auto;
}
#cookies { 
  position: relative;
  top: 0;
  left: 26.5%;
  font-size: 10px;
  color: #2ce1e7; 
  max-width: 42.85em; 
  font-family: 'Big Shoulders Display';
  width: 100%;
  position: fixed;
  bottom: 0; 
  z-index: 10;
  display: none;
}
.cookies {
  min-height: 70px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1px;
  margin-top: 20px;
}
#schrift_cookies {
  font-size: 21.6px;
}
.cookies img {
  display: block;
  width: 5em;
  transform: translateZ(0);
  position: relative;
  margin: auto;
}
.cookies a {
  color: #2ce1e7;
  font-weight: 400;
  text-decoration: none;
}
#cookies-btn {
  border-radius: 7px;
  padding: 8px 12px 8px 12px;
  font-size: 1rem;
  font-family: inherit;
  cursor: pointer;
  border: 3px solid #2ce1e7;
  background-color: #2ce1e7;
  color: #141414; 
  margin: -12px 108px 179px;
}
@media(max-width:420px) {
  .container {
    width: 100%;
  }
}
@media(max-width:1024px) {
  .cookies {
    padding: 10px 0;
  }
}
	JAVASCRIPT
		Javascript:
	
	setCookie = (cName, cValue, expDays) => {
    let date = new Date();
    date.setTime(date.getTime() + (expDays * 24 * 60 * 60 * 1000));
    const expires = "expires=" + date.toUTCString();   
    document.cookie = cName + "=" + cValue + "; " + expires + "; path=/, path=/hauptseite, path=/impressum, path=/downloads, expires=";
}
getCookie = (cName) => {
    const name = cName + "=";
    const cDecoded = decodeURIComponent(document.cookie);
    const cArr = cDecoded.split("; ");
    let value;
    cArr.forEach(val => {
        if(val.indexOf(name) === 0) value = val.substring(name.length);
    })
    return value;
}
document.querySelector("#cookies-btn").addEventListener("click", () => {
    document.querySelector("#cookies").style.display = "none";
    setCookie("cookie", true, 30);
})
cookieMessage = () => {
    if(!getCookie("cookie"))
    document.querySelector("#cookies").style.display = "block";
}
window.addEventListener("load", cookieMessage);