类:Cookies

查询和修改一个会话的cookies

进程:主进程

通过Sessioncookies属性来访问Cookies的实例

例如:

  1. const { session } = require('electron')
  2. // 查询所有 cookies。
  3. session.defaultSession.cookies.get({})
  4. .then((cookies) => {
  5. console.log(cookies)
  6. }).catch((error) => {
  7. console.log(error)
  8. })
  9. // 查询所有与设置的 URL 相关的所有 cookies.
  10. session.defaultSession.cookies.get({ url: 'http://www.github.com' })
  11. .then((cookies) => {
  12. console.log(cookies)
  13. }).catch((error) => {
  14. console.log(error)
  15. })
  16. // 设置一个 cookie,使用设置的名称;
  17. // 如果存在,则会覆盖原先 cookie.
  18. const cookie = { url: 'http://www.github.com', name: 'dummy_name', value: 'dummy' }
  19. session.defaultSession.cookies.set(cookie)
  20. .then(() => {
  21. // success
  22. }, (error) => {
  23. console.error(error)
  24. })

事件

以下事件会在Cookies实例触发。

Event: ‘changed’

  • event Event
  • cookie 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 Object
    • url String (optional) - Retrieves cookies which are associated with url. Empty implies retrieving cookies of all URLs.
    • nameString (可选) - 按名称筛选 cookie。
    • domain String (optional) - 检索与域名或者 domain 子域名匹配的cookie。
    • pathString (可选) - 检索路径与 path 匹配的 cookie。
    • secureBoolean (可选) - 通过其Secure 属性筛选 cookie。
    • sessionBoolean (可选) - 筛选出session 内可用或持久性 cookie。

返回 Promise<Cookie[]> - 一个会解析成数组或者 cookie 对象的 promise。

发送请求以获取匹配 filter 的所有 cookie,并通过响应来解决承诺问题。

cookies.set(details)

  • details Object
    • url 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.
    • expirationDateDouble (可选) - cookie 的到期日期,类型为时间戳,单位为秒。 如果省略, 则 cookie 将成为会话 cookie, 并且不会在会话之间保留。
    • sameSite String (optional) - The Same Site policy to apply to this cookie. Can be unspecified, no_restriction, lax or strict. Default is no_restriction.

返回 Promise<void> - cookie 设置时解析的一个 promise。

details 去设置一个 cookie。

cookies.remove(url, name)

  • urlString - 与 cookie 关联的 URL。
  • nameString - cookie 名称。

返回 Promise<void> - cookie 移除时解析的的一个 promise。

移除与urlname匹配的 cookie。

cookies.flushStore()

返回 Promise<void> - 一个在 cookie 写入时解析的 promise。

写入所有未写入磁盘的 cookie。