类:Cookies
类:Cookies
查询和修改一个会话的cookies
Process: Main
此类不从 'electron' 模块导出. 它只能作为 Electron API 中其他方法的返回值。
通过Session的cookies属性来访问Cookies的实例
例如:
const { session } = require('electron')
// 查询所有 cookies。
session.defaultSession.cookies.get({})
.then((cookies) => {
console.log(cookies)
}).catch((error) => {
console.log(error)
})
// 查询所有与设置的 URL 相关的所有 cookies.
session.defaultSession.cookies.get({ url: 'http://www.github.com' })
.then((cookies) => {
console.log(cookies)
}).catch((error) => {
console.log(error)
})
// 设置一个 cookie,使用设置的名称;
// 如果存在,则会覆盖原先 cookie.
const cookie = { url: 'http://www.github.com', name: 'dummy_name', value: 'dummy' }
session.defaultSession.cookies.set(cookie)
.then(() => {
// success
}, (error) => {
console.error(error)
})
实例事件
以下事件会在Cookies实例触发。
Event: 'changed'
返回:
eventEventcookieCookie - 变更后的 cookie 值。causestring - 导致更改的原因,为以下值之一:explicit- cookie 是由消费者的操作直接更改的。overwrite- 一个覆盖原值的插入操作导致的 cookie 被自动删除。expired- cookie 在过期时自动删除。evicted- 在GC(垃圾回收机制)过程中被回收。expired-overwrite- 一个已过期的时间覆写了原cookie 的过期时间。
removedboolean -true表示cookie 已被删掉, 否则为false.
该事件在cookie 被添加、修改、删除或过期时触发。
实例方法
以下方法可以在Cookies实例调用。
cookies.get(filter)
filterObjecturlstring (可选) - 检索与url相关的 cookie。 空意味着检索所有 URL 的 cookie 。namestring (可选) - 按名称筛选 cookie。domainstring (optional) - 检索与域名或者domain子域名匹配的cookie。pathstring (可选) - 检索路径与path匹配的 cookie。secureboolean (可选) - 通过其Secure 属性筛选 cookie。sessionboolean (可选) - 筛选出session 内可用或持久性 cookie。httpOnlyboolean (optional) - Filters cookies by httpOnly.
返回 Promise<Cookie[]> - 一个会解析成数组或者 cookie 对象的 promise。
发送请求以获取匹配 filter 的所有 cookie,并通过响应来解决承诺问题。
cookies.set(details)
detailsObjecturlstring - 与 cookie 关联的 url。 如果URL无效,promise将返回reject。namestring (可选) - cookie 的名称。 如果省略则默认为空。valuestring (可选) - cookie 的值。 如果省略则默认为空。domainstring (可选) - cookie所在域名,通常使用点号开头,以使其对子域名可用。 如果省略则默认为空。pathstring (可选) - cookie 的路径。 如果省略则默认为空。secureboolean (可选) - cookie 是否应该标记为Secure。 默认为 false 直到 Same Site=None 属性被使用httpOnlyboolean (可选) - cookie 是否应该标记为 HTTP only。 默认值为 false.expirationDateDouble (可选) - cookie 的到期日期,类型为时间戳,单位为秒。 如果省略, 则 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。