Как я могу перечислить все cookie для текущей страницы с JavaScript?

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

62
задан 4 August 2010 в 02:04

4 ответа

Многие люди уже упомянули, что document.cookie получает Вас все cookie (кроме http-only).

я просто добавлю отрывок, чтобы не отстать от времени.

document.cookie.split(';').reduce((cookies, cookie) => {
  const [ name, value ] = cookie.split('=').map(c => c.trim());
  cookies[name] = value;
  return cookies;
}, {});

отрывок возвратит объект с именами cookie как ключи со значениями cookie как значения.

4
ответ дан 31 October 2019 в 14:14
function listCookies() {
    let cookies = document.cookie.split(';')
    cookies.map((cookie, n) => console.log(`${n}:`, decodeURIComponent(cookie)))
}

function findCookie(e) {
  let cookies = document.cookie.split(';')
  cookies.map((cookie, n) => cookie.includes(e) && console.log(decodeURIComponent(cookie), n))
}

Это специально для окна, в котором Вы находитесь. Попробованный для содержания его в чистоте и краткий.

0
ответ дан 31 October 2019 в 14:14

Некоторые cookie, такие как URL ссылающегося домена, имеют = в них. В результате просто разделение на = вызовет неправильные результаты, и предыдущие ответы здесь будут разбивка со временем (или сразу в зависимости от Вашей глубины использования).

Это берет только первую инстанцию, равняется знаку. Это возвращает объект с парами значения ключа cookie.

// Returns an object of key value pairs for this page's cookies
function getPageCookies(){

    // cookie is a string containing a semicolon-separated list, this split puts it into an array
    var cookieArr = document.cookie.split(";");

    // This object will hold all of the key value pairs
    var cookieObj = {};

    // Iterate the array of flat cookies to get their key value pair
    for(var i = 0; i < cookieArr.length; i++){

        // Remove the standardized whitespace
        var cookieSeg = cookieArr[i].trim();

        // Index of the split between key and value
        var firstEq = cookieSeg.indexOf("=");

        // Assignments
        var name = cookieSeg.substr(0,firstEq);
        var value = cookieSeg.substr(firstEq+1);
        cookieObj[name] = value;
   }
   return cookieObj;
}
0
ответ дан 31 October 2019 в 14:14

Для того, чтобы просто быстро просмотреть cookie на какой-то конкретной странице, я сохраняю ярлык "Cookie" панели избранного с набором URL к:

javascript:window.alert(document.cookie.split(';').join(';\r\n'));
0
ответ дан 31 October 2019 в 14:14

Другие вопросы по тегам:

Похожие вопросы: