Wie kann ich eine zufällige Weiterleitung auf andere Website vom Cookie-Fenster aus realisieren?

2 Antworten

Das ist, um das hier einmal vorwegzunehmen, ziemlich schlechter Code.

1) Die toGMTString-Methode ist veraltet und sollte nicht mehr angewandt werden. Sie sollte gegen toUTCString ausgetauscht werden.

2) HTML-Attribute sollten via Leerzeichen von anderen Attributen getrennt werden.

3) Der JavaScript-Code sollte nicht in einem onclick-Attribut aufgelistet werden (das habe ich dir hier schon geschrieben). Es macht doch alles nur schwer lesbar. Verwende einen eigenen script-Block / kopiere den Code in den vorhandenen script-Block hinein.

4) Falls dein style-Tag mit im body-Bereich liegen sollte, verschiebe ihn in den head. Der Browser hat so auch die Möglichkeit, das CSS möglichst früh zu interpretieren.

Zu deiner Frage:

Ich wollte bei meiner Website von einem Cookie-Fenster auf eine zufällige Website weiterleiten. Man klickt also auf "Ablehnen" und wird zu einer der von mir angegebenen Websites geleitet.

Hier sehe ich noch keinen wirklichen Sinn dahinter. Es erscheint mir jedenfalls nicht nutzerfreundlich, ein für den Nutzer unerwartetes Verhalten auszulösen. Oder ich habe deine Frage nicht richtig verstanden.

Zur Lösung: Packe alle Seiten, zu denen weitergeleitet werden könnte, in ein Array und ermittle einen Zufallsindex. Dem folgt die Weiterleitung.

In einem script-Block (der erst nach dem Link eingebunden wird) also:

function redirectToRandomUrl() {
  const targetUrls = [ "URL 1 ...", "URL 2 ...", /* etc. ... */ ];
  const randomTargetUrl = targetUrls[Math.floor(Math.random() * targetUrls.length)];
  location.href = randomTargetUrl;
}

function setCookie() {
  // your cookie code ...
}

function cancelCookies() {
  setCookie();
  redirectToRandomUrl();
}

Und der Link könnte folgendermaßen so aussehen:

<a href="javascript:cancelCookies()" class="button">Ablehnen</a>

also bei mir geht das zu google wenn ich ablehnen klicke ? und das ist 1 zu 1 deine seite

<html>
<head>
   <style>

   #mbmcookie {position: fixed; bottom: 0; left: 0; right: 0; background: #D8D8D8; padding: 20px; font-size: 14px; font-family: verdana;}

   #mbmcookie a.button {cursor: pointer; background: #A4A4A4; padding: 8px 20px; margin-left: 10px; border-radius: 5px; font-weight: bold; float: right;}

   #mbmcookie a.button:hover {background-color: #aaa;}

   #mbmcookie p.cookiemessage {display: block; padding: 0; margin: 0;}

   </style>
</head>
<body>

   <div id="mbmcookie">

   <a onClick="var d = new Date(); d = new Date(d.getTime() +1000*60*60*24*730);var w = false; w = false; document.cookie = 'mbmcookie=1; expires='+ d.toGMTString() + ';'; document.getElementById('mbmcookie').style.display = 'none';" class="button">Akzeptieren</a>

   <a href="https://www.google.com" onClick="var d = new Date(); d = new Date(d.getTime() +1000*60*60*24*730);var w = true; w = true; document.cookie = 'mbmcookie=1; expires='+ d.toGMTString() + ';'; document.getElementById('mbmcookie').style.display = 'none';" class="button">Ablehnen</a>

   <p class="cookiemessage">Diese Website verwendet Cookies..

   </div>

   <script>

   var r = 0;

   a = document.cookie;
   while(a != ''){
       while(a.substr(0,1) == ' '){
           a = a.substr(1,a.length);
        }
        cn = a.substring(0,a.indexOf('='));
        if(a.indexOf(';') != -1){
            cw = a.substring(a.indexOf('=')+1,a.indexOf(';'));
        }else{cw = a.substr(a.indexOf('=')+1,a.length);}
        if(cn == 'mbmcookie'){r = cw;}
        i = a.indexOf(';')+1;
        if(i == 0){i = a.length}
        a = a.substring(i,a.length);
    }
    if(r == '1') document.getElementById('mbmcookie').style.display = 'none';

   </script>
</body>
</html>