Einmaliges Ausführen von Javascript mit Hilfe eines Cookies

Jumo

Grünschnabel
Hallo Liebe Community,

ich versuche nun schon länger eine Javascript Funktion nur beim ersten Aufruf der seite ausführen zu lassen.
Mit der Hilfe eines Cookies, der ebenfalls beim ersten laden erzeugt werden soll, soll die Funktion die nächsten Male wissen, dass die Funktion nicht mehr starten soll.

Mein bissheriger stand bzw. mein letzter Versuch sieht so aus:

<script>

function shownewsletter2() {

var username=getCookie("username");
if (username!="") {
alert("No Newsletter");
}else{
username = prompt("Please enter your name:", "");
if (username != "" && username != null) {

jQuery('.vc_cta3-container').css('cssText','display: block; opacity:1; transition: opacity 350ms 200ms;');

}
}

}

function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}

window.onload = shownewsletter2;
window.onload = setCookie;
</script>


Wenn jemand hier Grundlegende Fehler findet oder mir eine alternative nennt wäre ich sehr dankbar.

beste Grüße,

Jumo
 
Ich sehe da mehrere Fehler: Du solltest die "on"-Eventhandler vergessen und stattdessen auf addEventListener(), was bei jQuery mit .on() umgesetzt wird, verwenden. Denn momentan überschreibst Du den ersten Handler direkt durch einen weiteren, womit nur der zweite ausgeführt wird. Desweiteren funktioniert die .css()-Methode so nicht.
 

Neue Beiträge

Zurück