Prodej brandové domény světové značky Fred Perry
Zobrazují se odpovědi 1 až 3 z 3

Expiracia cookies v scripte

  1. Ahoj, vedel by mi niekto prosim poradit, ako upravit tento script aby cookies vyprsalo po 30 minutach?
    Ide o popup okno ktora sa ma zobrazit a po jeho zavreti by ho rovnaky navstevnik nemal vidiet dalsich 30 minut napriec webom, script funguje ako ma ale neviem prist ako zmenit ten interval, v jq sa vobec neorientujem, dakujem

    Kód:
         $('.test-info').delay(6000).fadeIn(900).show(0); 
    
                if (Boolean(readCookie('hide'))) {
                    $('.test-info').hide();
                    $('.test-info').fadeOut(1000);
                    $('.test-info').addClass("none");
                }
                $('.test-info .close').click(function (e) {
    
                    $('.test-info').fadeOut(700);
                    e.stopPropagation();
    
                    createCookie('hide', true, 1)
                    return false;
                });
    
                function createCookie(name, value, days) {
                    if (days == 1) {
                        var date = new Date();
                        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
                        var expires = "; expires=" + date.toGMTString();
                    }
                    else var expires2 = "";
                    document.cookie = name + "=" + value + "; expires=" + expires + "; path=/";
    
                  //  $.cookie(name, value, { expires: days });
                }
    
                function readCookie(name) {
                    var nameEQ = name + "=";
                    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, c.length);
                        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
                    }
                    return null;
                }
    
                function eraseCookie(name) {
                    createCookie(name, "", -1);
                }
    
            });

  2. Co se právě děje na Webtrhu?
  3. Funkce createCookie() bere jako 3. argument days. Dál uvnitř funkce uvidíš, že se hodnota days vynásobí celkem 86 400 000 krát a získáš tak počet milisekund (protože takový počet ms je v jednom dni), které se přičtou k aktuálnímu datu - a to je datum expirace cookie, které se pak přidá do hodnoty document.cookie o 4 řádky níž.

    Co potřebuješ udělat, je předávat ne počet dní, ale počet minut, a podle toho upravit i výpočet milisekund.
    1. Změň argument days funkce createCookie() na minutes
    2. V řádku, který obsahuje výpočet (days * 24 * 60 * 60 * 1000) nepočítej s dny, ale s minutami. Tzn. (minutes * 60 * 1000)
    3. Nezapomeň změnit hodnotu argumentu ve volání funkce - původní createCookie('hide', true, 1) by ti teď vygenerovalo cookie jen na 1 minutu.

  4. Okey dakujem, uz som nakoniec pochopil ako to logicky funguje, dik za objasnenie, pomohlo
    Naposledy upravil jano92 : 26.04.2020 v 16:30

Spolupracujeme: Jooble.org, Aximum - profesionální překlady Hostujeme u Server powered by TELE3