Как проверить, принимает ли браузер куки с JavaScript? - PullRequest
3 голосов
/ 22 июля 2010

Я хочу проверить с помощью JavaScript, поддерживает ли браузер куки или нет.Следующий код работает с Internet Explorer 8 и Firefox 3.6, но не с Google Chrome 5.

function areCookiesEnabled() {
  document.cookie = "__verify=1";
  var supportsCookies = document.cookie.length > 1 &&
                        document.cookie.indexOf("__verify=1") > -1;
  var thePast = new Date(1976, 8, 16);
  document.cookie = "__verify=1;expires=" + thePast.toUTCString();
  return supportsCookies;
}

if(!areCookiesEnabled()) 
    document.write("<p>Activate cookies!</p>");
else
    document.write("<p>cookies ok</p>");

Chrome отображает сообщение «Активируйте куки!»независимо от моих настроек cookie.Но если я запрещаю файлы cookie, Chrome сообщает, что файл cookie не может быть установлен.

Есть идеи, как проверить доступность файлов cookie с помощью JavaScript в Chrome?

Ответы [ 2 ]

2 голосов
/ 22 июля 2010

Я не уверен, почему код не работает, но вы действительно можете упростить свой код, который поможет выявить проблему:

function areCookiesEnabled() {
  document.cookie = "__verify=1;expires=" + new Date(1976, 8, 16).toUTCString();
  return  (document.cookie.length > 1);
}

if(!areCookiesEnabled()) 
    document.write("<p>Activate cookies!</p>");
else
    document.write("<p>cookies ok</p>");

Кроме того, вот превосходный обзор файлов cookie Javascript , он может помочь вам определить его.

2 голосов
/ 22 июля 2010

Единственный надежный способ узнать, включены ли файлы cookie, - установить один и проверить его наличие при следующем запросе .Требуется код на стороне сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...