类:Cookies
类:Cookies
查询和修改一个会话的cookies
Process: Main
This class is not exported from the 'electron'
module. 它只能作为 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: 'https://www.github.com' })
.then((cookies) => {
console.log(cookies)
}).catch((error) => {
console.log(error)
})
// 设置一个 cookie,使用设置的名称;
// 如果存在,则会覆盖原先 cookie.
const cookie = { url: 'https://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 - The cookie that was changed.cause
string - 导致更改的原因,为以下值之一:explicit
- cookie 是由消费者的操作直接更改的。overwrite
- 一个覆盖原值的插入操作导致的 cookie 被自动删除。expired
- cookie 在过期时自动删除。evicted
- 在GC(垃圾回收机制)过程中被回收。expired-overwrite
- 一个已过期的时间覆写了原cookie 的过期时间。
removed
boolean -true
表示cookie 已被删掉, 否则为false
.
该事件在cookie 被添加、修改、删除或过期时触发。
实例方法
以下方法可以在Cookies
实例调用。
cookies.get(filter)
filter
Objecturl
string (可选) - 检索与url
相关的 cookie。 空意味着检索所有 URL 的 cookie 。name
string (可选) - 按名称筛选 cookie。domain
string (optional) - 检索与域名或者domain
子域名匹配的cookie。path
string (可选) - 检索路径与path
匹配的 cookie。secure
boolean (可选) - 通过其Secure 属性筛选 cookie。session
boolean (可选) - 筛选出session 内可用或持久性 cookie。httpOnly
boolean (optional) - Filters cookies by httpOnly.
返回 Promise<Cookie[]>
- 一个会解析成数组或者 cookie 对象的 promise。
发送请求以获取匹配 filter
的所有 cookie,并通过响应来解决承诺问题。
cookies.set(details)
details
Objecturl
string - 与 cookie 关联的 url。 如果URL无效,promise将返回reject。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 的到期日期,类型为时间戳,单位为秒。 如果省略, 则 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。
Writes any unwritten cookies data to disk
Cookies written by any method will not be written to disk immediately, but will be written every 30 seconds or 512 operations
Calling this method can cause the cookie to be written to disk immediately.