类: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'
返回
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[]> - 一个解析为 Cookie 对象数组的 Promise。
发送请求以获取所有匹配 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> - Cookie 设置后解析的 Promise
使用 details 设置 Cookie。
cookies.remove(url, name)
urlstring - 与 Cookie 关联的 URL。namestring - 要移除的 Cookie 的名称。
返回 Promise<void> - Cookie 移除后解析的 Promise
移除与 url 和 name 匹配的 Cookie。
cookies.flushStore()
返回 Promise<void> - Cookie 存储刷新后解析的 Promise
将任何未写入的 Cookie 数据写入磁盘。
通过任何方法写入的 Cookie 不会立即写入磁盘,而是每 30 秒或 512 次操作写入一次。
调用此方法可以立即将 Cookie 写入磁盘。