Javascript - Установить cookie браузера - PullRequest
1 голос
/ 22 февраля 2020

Когда пользователь нажимает на кнопку, он переводит его на ссылку, но перед тем, как он go перейдет по этой ссылке, повар ie должен будет установить либо Engli sh (EN), либо французский (FR). ). У меня есть пример здесь: http://www.quirksmode.org/js/cookies.html

но по какой-то причине он не читает в поваре ie, и я не уверен, где я иду не так. Вот что у меня есть:

<!DOCTYPE html>
<html>
<body>

<p>This is for the Browser Cookies.</p>

<button onclick="EN_Cookie()">English Link</button>  <button onclick="FR_Cookie()">French Link</button>


<script>
function EN_Cookie() {  
    setCookie("SMDCookie","EN",7);
    //location.href = 'https://google.com';
}

function FR_Cookie() {
   setCookie("SMDCookie","FR",7);
   //location.href = 'https://google.com';
}

function setCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

</script>

</body>
</html>

Есть предложения ??

Ответы [ 2 ]

0 голосов
/ 22 февраля 2020

Вот функции, которые вы можете использовать для создания и получения файлов cookie

function createCookie(name, value, days) {
    var expires;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    else {
        expires = "";
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}

function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) {
                c_end = document.cookie.length;
            }
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}

Ссылка - Как мне создать и прочитать значение из cook ie?

0 голосов
/ 22 февраля 2020

Я просмотрел ваш код и обнаружил, что функция set cook ie работает правильно. Может быть, ваш getCook ie не работает, я делюсь функцией get cook ie:

  function getCookie(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 "";
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...