Это правильный способ реализации cookie? - PullRequest
0 голосов
/ 11 апреля 2019

Я запускаю следующий код, который загружает div и скрывает его в соответствии с cookie, но не показывает его снова после установки cookie.

Я не понимаю, почему это не работает.

<!DOCTYPE html>
<html>

<head></head>

    <body>
    <div style="width:250px;height:250px;background-color:#000;" id="PostShare">
    </div>
    </body>

    <script language="javascript" type="text/javascript" async>
    function createPages(name,value,days) {
       var date = new Date();
       date.setTime(date.getTime()+(days*24*60*60*1000));
       var expires = date.toGMTString();
       document.cookie = name+"="+value+"; expires="+expires+"; path=/";
    }

    function readPages(name) {
        var flag = 0;
        var dcmntPages = document.cookie.split(';');
        for(var i=0;i < dcmntPages.length;i++) {
            var ck = dcmntPages[i];
            while (ck.charAt(0)==' ') {
                ck = ck.substring(1,ck.length);
            }
            if(ck) {
                cparts = ck.split('=');
                if (cparts[0] == name) flag=1;
            }              
        }     
        if(flag) { 
            return true; 
        } else {
            return false; 
        }  
    }

    function checkPages(name) {
        if (readPages(name)) {
    document.getElementById('PostShare').style.display = "none";
    document.getElementById('PostShare').style.visibility = "hidden";
        }
        else {
    document.getElementById('PostShare').style.display = "block";
    document.getElementById('PostShare').style.visibility = "visible";
        createPages(name,"cookie 4 the day",1); 
        }
    }

    checkPages("MyPages");
    </script>
    </body>

</html>

Я пытаюсь сделать то же самое на инкогнито и так, но это не работает. Пожалуйста, помогите мне понять, как заставить этот код работать или каким должен быть код для скрытия div для пользователя при первой загрузке и показа его для остальных загрузок в течение дня.

Спасибо

1 Ответ

0 голосов
/ 11 апреля 2019

Ваша реализация выглядит хорошо. Если вы просматриваете страницу в своем браузере из файла, куки не будут установлены. Вам нужно разместить его на сервере. Вы можете запустить простой сервер для размещения вашего HTML-файла: - питон - apache - нпм

...