类:Cookies
查询和修改一个会话的cookies
进程:主进程
通过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’
event
Eventcookie
Cookie - 变更后的 cookie 值。cause
String - The cause of the change with one of the following values:explicit
- cookie 是由消费者的操作直接更改的。overwrite
- 一个覆盖原值的插入操作导致的 cookie 被自动删除。expired
- cookie 在过期时自动删除。evicted
- 在GC(垃圾回收机制)过程中被回收。expired-overwrite
- 一个已过期的时间覆写了原cookie 的过期时间。
removed
Boolean -true
表示cookie 已被删掉, 否则为false
.
该事件在cookie 被添加、修改、删除或过期时触发。
实例方法
以下方法可以在Cookies
实例调用。
cookies.get(filter)
filter
Objecturl
String (optional) - Retrieves cookies which are associated withurl
. Empty implies retrieving cookies of all URLs.name
String (可选) - 按名称筛选 cookie。domain
String (optional) - 检索与域名或者domain
子域名匹配的cookie。path
String (可选) - 检索路径与path
匹配的 cookie。secure
Boolean (可选) - 通过其Secure 属性筛选 cookie。session
Boolean (可选) - 筛选出session 内可用或持久性 cookie。
返回 Promise<Cookie[]>
- 一个会解析成数组或者 cookie 对象的 promise。
发送请求以获取匹配 filter
的所有 cookie,并通过响应来解决承诺问题。
cookies.set(details)
details
Objecturl
String - The URL to associate the cookie with. The promise will be rejected if the URL is invalid.name
String (optional) - The name of the cookie. Empty by default if omitted.value
String (optional) - The value of the cookie. Empty by default if omitted.domain
String (可选) - cookie所在域名,通常使用点号开头,以使其对子域名可用。 Empty by default if omitted.path
String (可选) - cookie 的路径。 Empty by default if omitted.secure
Boolean (optional) - Whether the cookie should be marked as Secure. 默认为false。httpOnly
Boolean (optional) - Whether the cookie should be marked as HTTP only. 默认值为 false.expirationDate
Double (可选) - cookie 的到期日期,类型为时间戳,单位为秒。 如果省略, 则 cookie 将成为会话 cookie, 并且不会在会话之间保留。sameSite
String (optional) - The Same Site policy to apply to this cookie. Can beunspecified
,no_restriction
,lax
orstrict
. Default isno_restriction
.
返回 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。