跳至主要内容

类:Cookies

类:Cookies

查询和修改会话的 Cookies。

进程:主进程
此类不会从 'electron' 模块导出。它只能作为 Electron API 中其他方法的返回值使用。

Cookies 类的实例可以通过使用 Sessioncookies 属性访问。

例如

const { session } = require('electron')

// Query all cookies.
session.defaultSession.cookies.get({})
.then((cookies) => {
console.log(cookies)
}).catch((error) => {
console.log(error)
})

// Query all cookies associated with a specific url.
session.defaultSession.cookies.get({ url: 'https://www.github.com' })
.then((cookies) => {
console.log(cookies)
}).catch((error) => {
console.log(error)
})

// Set a cookie with the given cookie data;
// may overwrite equivalent cookies if they exist.
const cookie = { url: 'https://www.github.com', name: 'dummy_name', value: 'dummy' }
session.defaultSession.cookies.set(cookie)
.then(() => {
// success
}, (error) => {
console.error(error)
})

实例事件

以下事件适用于 Cookies 的实例

事件:'changed'

返回

  • event 事件
  • cookie Cookie - 已更改的 Cookie。
  • cause 字符串 - 更改的原因,具有以下值之一
    • explicit - Cookie 由消费者的直接操作更改。
    • overwrite - 由于覆盖了 Cookie 的插入操作,Cookie 被自动删除。
    • expired - Cookie 由于过期而被自动删除。
    • evicted - Cookie 在垃圾回收期间被自动逐出。
    • expired-overwrite - Cookie 被具有已过期过期日期的过期日期覆盖。
  • removed 布尔值 - 如果 Cookie 被删除,则为 true,否则为 false

在 Cookie 由于添加、编辑、删除或过期而发生更改时发出。

实例方法

以下方法适用于 Cookies 的实例

cookies.get(filter)

  • filter 对象
    • url 字符串(可选) - 检索与 url 关联的 Cookie。空意味着检索所有 URL 的 Cookie。
    • name 字符串(可选) - 按名称过滤 Cookie。
    • domain 字符串(可选) - 检索其域名与 domains 匹配或为其子域名的 Cookie。
    • path 字符串(可选) - 检索其路径与 path 匹配的 Cookie。
    • secure 布尔值(可选) - 按 Cookie 的 Secure 属性过滤 Cookie。
    • session 布尔值(可选) - 过滤掉会话或持久 Cookie。
    • httpOnly 布尔值(可选) - 按 httpOnly 过滤 Cookie。

返回 Promise<Cookie[]> - 一个解析为 Cookie 对象数组的 Promise。

发送一个请求以获取与 filter 匹配的所有 Cookie,并解析一个带有响应的 Promise。

cookies.set(details)

  • details 对象
    • url 字符串 - 与 Cookie 关联的 URL。如果 URL 无效,则 Promise 将被拒绝。
    • name 字符串(可选) - Cookie 的名称。如果省略,默认情况下为空。
    • value 字符串(可选) - Cookie 的值。如果省略,默认情况下为空。
    • domain 字符串(可选) - Cookie 的域名;这将在前面加上一个点以进行标准化,使其也对子域名有效。如果省略,默认情况下为空。
    • path 字符串(可选) - Cookie 的路径。如果省略,默认情况下为空。
    • secure 布尔值(可选) - Cookie 是否应标记为 Secure。默认情况下为 false,除非使用 Same Site=None 属性。
    • httpOnly 布尔值(可选) - Cookie 是否应标记为 HTTP only。默认情况下为 false。
    • expirationDate 双精度浮点数(可选) - Cookie 的过期日期,以自 UNIX 纪元以来的秒数表示。如果省略,则 Cookie 成为会话 Cookie,并且不会在会话之间保留。
    • sameSite 字符串(可选) - 要应用于此 Cookie 的 Same Site 策略。可以是 unspecifiedno_restrictionlaxstrict。默认值为 lax

返回 Promise<void> - 一个在 Cookie 设置后解析的 Promise

使用 details 设置 Cookie。

cookies.remove(url, name)

  • url 字符串 - 与 Cookie 关联的 URL。
  • name 字符串 - 要删除的 Cookie 的名称。

返回 Promise<void> - 一个在 Cookie 删除后解析的 Promise

删除与 urlname 匹配的 Cookie

cookies.flushStore()

返回 Promise<void> - 一个在 Cookie 存储刷新后解析的 Promise

将任何未写入的 Cookie 数据写入磁盘

通过任何方法写入的 Cookie 不会立即写入磁盘,但每 30 秒或 512 次操作写入一次

调用此方法会导致 Cookie 立即写入磁盘。