JavaScript 如何列出当前页面的所有Cookie

JavaScript 如何列出当前页面的所有Cookie

在本文中,我们将学习如何使用JavaScript获取当前页面的所有Cookie列表,并通过示例了解它们的实现。任务是检索存储在当前域中的Cookie(由于安全原因,我们无法获取所有Cookie)。下面讨论了解决此问题的两种方法。

方法1

  • 使用 document.cookie 访问Cookie。
  • 使用 .split()方法 将Cookie以“;”分割为一个Cookie数组。
  • 遍历Cookie数组。
  • 将所有Cookie依次添加到字符串中进行打印。

示例: 下面的示例实现了上述方法。

function getCookies() {
    let cookie = "username=geeks;expires=Mon, 18 Dec 2023;path=/"; 
    let cookies = cookie.split(';');
    let ret = '';
     
    for (let i = 1; i <= cookies.length; i++) {
        ret += i + ' - ' + cookies[i - 1] + "\n";
    }
 
    return ret;
}
 
console.log(getCookies());
JavaScript

输出

1 - username=geeks
2 - expires=Mon, 18 Dec 2023
3 - path=/
JavaScript

方法2

  • 使用 document.cookie 获取cookies。
  • 使用 .split() 方法 将cookies以“;”分割为一个数组。
  • 使用 .reduce() 方法 逐个访问每个cookie。
  • 获取cookie的名称和值。对于每个cookie,使用 .split() 方法 将其以“=”分割,获取cookie的 名称和值
  • 这种方法与之前的方法相同,将cookies作为一个对象返回。

示例: 该示例实现了上述方法。

function getCookies() {
    let cookie = "username=geeks;expires=Mon, 18 Dec 2023;path=/";
 
    let cookies = cookie.split(';').reduce(
        (cookies, cookie) => {
            const [name, val] = cookie.split('=').map(c => c.trim());
            cookies[name] = val;
            return cookies;
        }, {});
    return cookies;
}
 
console.log(getCookies());
JavaScript

输出

{ username: 'geeks', expires: 'Mon, 18 Dec 2023', path: '/' }
JavaScript

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册