Cookie Notice bei mehrsprachigen Seiten

Concilla

Vielen Dank für die Antwort, astricia. Ich habe nun komplett noch einmal den gesamten Cookie-Hinweis mit der bzw. de JS-Dateien eingearbeitet. Oder besser gesagt, diesen nun eingesetzt:

https://wiki.websitebaker.org/doku.php/design/snippets

Und siehe da, es funktioniert auch mit den verschiedenen Sprachen :-)

astricia

Ist bei mir nicht so - habe es gerade geprüft. Auch bei Seiten, die außerhalb der Sprach-Ordner liegen, bleibt die CookieNotice weggeklickt. Würde vielleicht helfen, wenn du mal den Link dazu postest...

LG,
Astrid

Concilla

Seit längerem nutze ich die CookieNotice.js welche im Normalfall einwandfrei funktioniert. Jetzt ist mir jedoch bei mehrsprachigen Seiten, die die gewöhnliche Struktur haben:

DE
-Start
-Aktuelles

EN
-Home
-News

das bei der Suche sowie bei den News in der Detailansicht die Cookie Info wieder erscheint, obwohl sie bereits weggeklickt wurde. Und genau diese Seiten befinden sich nicht in der Struktur DE und EN sondern liegen außerhalb in den Ordnern ,,search" bzw. ,,post".

Kann mir hier bitte jemand helfen und ggfls. den Code so anpassen, dass auch nach dem ersten Wegklicken bei der Suche und den News nicht ein weiteres (nerviges) Mal die Cookie Info angezeigt wird? Vielen Dank im Voraus.

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    the cookie notice
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

    function CookieNotice(closeButton) {
        this.CloseButton = document.getElementById(closeButton);
        this.Box = this.CloseButton.parentElement.style;

        this.hideNotice = function () {
            this.Box.display = 'none';
            this.setCookie("CookieNoticeVisible", "none", 7);
        }

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

        this.getCookie = function (cname) {
            var name = cname + "=";
            var ca = document.cookie.split(';');
            for(var i=0; i<ca.length; i++) {
                var c = ca[i];
                while (c.charAt(0)==' ') c = c.substring(1);
                if (c.indexOf(name) == 0) {
                    return c.substring(name.length, c.length);
                }
            }
            return "";
        }

        this.checkCookie = function () {
            var value = this.getCookie("CookieNoticeVisible");
            if (value === "none") {
                this.Box.display = 'none';
            } else {
                this.Box.display = 'block';
            }
        }
    }

    var watchNotice = new CookieNotice('cookie-notice-close');
    watchNotice.checkCookie();
    watchNotice.CloseButton.onclick  = function () { watchNotice.hideNotice();}