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