Cookies

查询和修改一个会话的cookies

线程:主线程

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

例如:

  1. const { session } = require('electron')
  2. // Query all cookies.
  3. session.defaultSession.cookies.get({}, (error, cookies) => {
  4. console.log(error, cookies)
  5. })
  6. // Query all cookies associated with a specific url.
  7. session.defaultSession.cookies.get({ url: 'http://www.github.com' }, (error, cookies) => {
  8. console.log(error, cookies)
  9. })
  10. // Set a cookie with the given cookie data;
  11. // may overwrite equivalent cookies if they exist.
  12. const cookie = { url: 'http://www.github.com', name: 'dummy_name', value: 'dummy' }
  13. session.defaultSession.cookies.set(cookie, (error) => {
  14. if (error) console.error(error)
  15. })

实例事件

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

Event: 'changed'

  • event Event
  • cookie Cookie - 变更后的 cookie 值。
  • cause String - cookie 值变动的原因,该变量可能的值为:

    • explicit - cookie 是由消费者的操作直接更改的。
    • overwrite - 一个覆盖原值的插入操作导致的 cookie 被自动删除。
    • expired - cookie 在过期时自动删除。
    • evicted - 在GC(垃圾回收机制)过程中被回收。
    • expired-overwrite - 一个已过期的时间覆写了原cookie 的过期时间。
  • removed Boolean - true表示cookie 已被删掉, 否则为false.
    该事件在cookie 被添加、修改、删除或过期时触发。

实例方法

以下方法可以在Cookies实例调用。

cookies.get(filter, callback)

  • filter Object - 过滤器对象,包含过滤参数

    • urlString (可选) - 检索与 url 关联的 cookie。空意味着检索所有 url 的 cookie。
    • nameString (可选) - 按名称筛选 cookie。
    • domain String (optional) - 检索与域名或者 domain 子域名匹配的cookie。
    • pathString (可选) - 检索路径与 path 匹配的 cookie。
    • secureBoolean (可选) - 通过其Secure 属性筛选 cookie。
    • sessionBoolean (可选) - 筛选出session 内可用或持久性 cookie。
  • callback Function - 回调函数

    • error Error
    • cookies Cookie[] - 返回的cookie 对象数组.
      发送一个请求获取所有匹配 filter 对象条件的cookie,回调函数将在请求结束后以 callback(error, cookies) 的形式被调用。

cookies.set(details, callback)

  • details Object

    • urlString - 与 cookie 关联的 url。
    • nameString (可选) - cookie 名称。如果省略, 则默认为空。
    • valueString (可选) - cookie 值。如果省略, 则默认为空。
    • domainString (可选) - cookie 的域名。如果省略, 则默认为空。
    • pathString (可选) - cookie 的路径。如果省略, 则默认为空。
    • secureBoolean (可选) - 是否将 cookie 标记为Secure。默认为 false。
    • httpOnlyBoolean (可选) - 是否只将 cookie 标记为 只允许HTTP 访问。默认为 false。
    • expirationDateDouble (可选) - cookie 的到期日期,类型为时间戳,单位为秒。 如果省略, 则 cookie 将成为会话 cookie, 并且不会在会话之间保留。
  • callback Function - 回调函数

    • error Error
      设置一个以details对象为模型的cookie,回调函数将在设置执行后以callback(error)形式被调用。

cookies.remove(url, name, callback)

  • urlString - 与 cookie 关联的 URL。
  • nameString - cookie 名称。
  • callback Function
    删除与 urlname 相匹配的 cookie, 回调函数将在执行完成时被调用。

cookies.flushStore(callback)

  • callback Function
    写入所有未写入磁盘的 cookie。