WS 3.0 Popup

  • Ich habe ein Popup, indem der User Zustimmen oder Ablehnen muss, dass er mit dem Sammel anonymisierter Daten einverstanden ist, jedoch kann er ohne das ich den Cookie zurücksetze seine Zustimmung nicht widerrufen.

    Und noch praktischer wäre es, wenn man einstellen könnte, dass der User vorher nicht das Popup schließen kann.

    Lg

    • Teambeitrag

    Wenn das Popup erst mal geschlossen ist, wie soll der dann den Link zum Widerruf anklicken? Das Popup ist ja dann erst mal nicht mehr erreichbar.


    Ein Link zum Löschen des Cookies kann schon einbauen. Ich schaue mal nach dem Code.

  • Ja, oder das der User den Cookie über einen Button selbst entfernen kann.


    z.b. mit einem kleinen Button der minimal unten in der leiste sichtbar ist und erst beim hover erscheint?

    • Teambeitrag

    Ich habs jetzt nicht getestet, sollte aber funktionieren:

    HTML
    <a class="popupRemoveCookie button">Zustimmung widerrufen</a>
    <div class="success popupRemoveCookieInfo" style="display: none;">Die Zustimmung wurde widerrufen.</div>
    <script data-relocate="true">
        $('.popupRemoveCookie').click(function(){
            $.removeCookie('wcf_popup', { path: '/' });
            $('.popupRemoveCookieInfo').css('display', 'block');
            $('.popupRemoveCookieInfo').delay(1000).fadeOut();
            $('.popupBase').css('display', 'block');
        });    
    </script>

    Wenn du die Klasse button entfernst, dann bekommst du einen einfachen Textlink.


    Reicht dir das so?

    • Teambeitrag

    So, hab den Code oben aktualisiert, bei mir gehts jetzt. Man muß aber die Seite neu laden damit das Popup wieder erscheint.

  • Das hier scheint nicht ganz zu stimmen


    Code
    POPUP_GUESTS_COOKIENAME
    Code
    <script data-relocate="true">
        $('.popupRemoveCookie').click(function(){
            $.cookie('{POPUP_GUESTS_COOKIENAME}', '', { expires: -1, path: '/'});
            $('.popupRemoveCookieInfo').css('display', 'block');
            $('.popupRemoveCookieInfo').delay(1000).fadeOut();
        });    
    </script>

    So setzt er nur den Cookie