类:Cookies
类:Cookies
查询和修改会话的 Cookie。
进程:主进程
此类未从 'electron'
模块导出。它只能作为 Electron API 中其他方法的返回值使用。
Cookies
类的实例可以通过 Session
的 cookies
属性访问。
例如
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
Eventcookie
Cookie - 已更改的 Cookie。cause
string - 更改的原因,可以是以下值之一explicit
- Cookie 由使用者操作直接更改。overwrite
- Cookie 因插入操作覆盖它而被自动移除。expired
- Cookie 因过期而被自动移除。evicted
- Cookie 在垃圾回收期间被自动逐出。expired-overwrite
- Cookie 被已过期的到期日期覆盖。
removed
boolean - 如果 Cookie 被移除则为true
,否则为false
。
当 Cookie 因添加、编辑、移除或过期而更改时触发。
实例方法
Cookies
类的实例提供了以下方法
cookies.get(filter)
filter
Objecturl
string (可选) - 检索与url
关联的 Cookie。为空表示检索所有 URL 的 Cookie。name
string (可选) - 按名称过滤 Cookie。domain
string (可选) - 检索域匹配或为指定域的子域的 Cookie。path
string (可选) - 检索路径与path
匹配的 Cookie。secure
boolean (可选) - 根据其 Secure 属性过滤 Cookie。session
boolean (可选) - 过滤出会话或持久性 Cookie。httpOnly
boolean (可选) - 根据 httpOnly 过滤 Cookie。
返回 Promise<Cookie[]>
- 一个解析为 Cookie 对象数组的 Promise。
发送请求以获取所有匹配 filter
的 Cookie,并使用响应解析 Promise。
cookies.set(details)
details
Objecturl
string - 与 Cookie 关联的 URL。如果 URL 无效,Promise 将被拒绝。name
string (可选) - Cookie 的名称。如果省略,默认为空。value
string (可选) - Cookie 的值。如果省略,默认为空。domain
string (可选) - Cookie 的域;这将通过前导点进行规范化,以便也对子域有效。如果省略,默认为空。path
string (可选) - Cookie 的路径。如果省略,默认为空。secure
boolean (可选) - Cookie 是否应标记为 Secure。默认为false
,除非使用 Same Site=None 属性。httpOnly
boolean (可选) - Cookie 是否应标记为 HTTP only。默认为false
。expirationDate
Double (可选) - Cookie 的到期日期,以自 UNIX 纪元以来的秒数表示。如果省略,则 Cookie 成为会话 Cookie,不会在会话之间保留。sameSite
string (可选) - 应用于此 Cookie 的 Same Site 策略。可以是unspecified
、no_restriction
、lax
或strict
。默认为lax
。
返回 Promise<void>
- 一个在 Cookie 已设置时解析的 Promise。
使用 details
设置 Cookie。
cookies.remove(url, name)
url
string - 与 Cookie 关联的 URL。name
string - 要移除的 Cookie 的名称。
返回 Promise<void>
- 一个在 Cookie 已移除时解析的 Promise。
移除匹配 url
和 name
的 Cookie
cookies.flushStore()
返回 Promise<void>
- 一个在 Cookie 存储已刷新时解析的 Promise。
将所有未写入的 Cookie 数据写入磁盘
通过任何方法写入的 Cookie 不会立即写入磁盘,但会每 30 秒或 512 次操作写入一次
调用此方法可以使 Cookie 立即写入磁盘。