Получить содержимое куки - PullRequest
0 голосов
/ 02 апреля 2011

Я пытаюсь найти способ получить содержимое cookie в javascript.

Предположим, что файл cookie называется "Google"

и давайте также предположим, что содержимое этого cookie-файла просто "бла"

Я искал в Интернете, и все, что я нашел, - это сложные функции, и мне было интересно, есть ли такой простой код, такой, который возвращает значение содержимого в cookie-файле '

, таких как -

var myCookie = cookie.content('Google');

Я не хочу, чтобы длинные парсеры проверяли наличие различных файлов cookie или, если файлы cookie имеют несколько значений или что-то еще ... Спасибо!

Ответы [ 5 ]

1 голос
/ 02 апреля 2011

Не совсем простое однострочное решение, но близко!

var results = document.cookie.match ( '(^|;) ?' + cookiename + '=([^;]*)(;|$)' );
if ( results ) myCookie = decodeURIComponent(results[2] ) ;
1 голос
/ 02 апреля 2011

QuirksMode имеет очень простой, но эффективный скрипт cookie.

var Google = readCookie("Google"); // Google is now "blah"
0 голосов
/ 21 июня 2013

В JavaScript все куки хранятся в одной строке. Куки отделяются друг от друга; Возможная функция для чтения файлов cookie:

function readCookie(myCookieName)
{
  if (document.cookie.length > 0)
  {
    var start = document.cookie.indexOf(myCookieName + "=");
    if (start != -1)
    {
      start = start + myCookieName.length + 1;
      var end = document.cookie.indexOf(";",start);
      if (end == -1) end = document.cookie.length;
      return unescape(document.cookie.substring(start ,end ));
    }else{
      return "";
    }
  }
  return "";
}
0 голосов
/ 02 апреля 2011

Вы можете использовать document.cookie или document.cookie.split (';'), чтобы получить полный список ключей / значений.

0 голосов
/ 02 апреля 2011

Вам придется самостоятельно разобрать банку печенья, но это не так сложно:

var name    = 'the_cookie_you_want';
var value   = null;
var cookies = document.cookie.split(/\s*;\s*/);
for(var i = 0; i < cookies.length; i++) {
    if(cookies[i].substring(0, name.length + 1) == (name + '=')) {
        value = decodeURIComponent(cookies[i].substring(name.length + 1));
        break;  
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...