小型文字档案 | Cookies
查询和修改会话的cookie。
Process: Main
Cookies
类的实例通过使用a的cookies
属性来访问Session
。
例如:
const {session} = require('electron')
// Query all cookies.
session.defaultSession.cookies.get({}, (error, cookies) => {
console.log(error, cookies)
})
// Query all cookies associated with a specific url.
session.defaultSession.cookies.get({url: 'http://www.github.com'}, (error, cookies) => {
console.log(error, cookies)
})
// Set a cookie with the given cookie data;
// may overwrite equivalent cookies if they exist.
const cookie = {url: 'http://www.github.com', name: 'dummy_name', value: 'dummy'}
session.defaultSession.cookies.set(cookie, (error) => {
if (error) console.error(error)
})
实例事件
以下事件可用于以下情况的Cookies
:
Event: ‘changed’
event
事件cookie
Cookie - 已更改的cookiecause
字符串 - 使用以下值之一进行更改的原因:explicit
- Cookie由消费者的行为直接改变。overwrite
- 由于重写它的插入操作,cookie被自动删除。expired
- Cookie在过期时自动删除。evicted
- 垃圾收集期间,Cookie被自动清除。expired-overwrite
- cookie已被过期的过期日期覆盖。
removed
布尔值 -true
如果cookie被移除,false
否则。
当Cookie因添加,编辑,删除或过期而发生更改时发出。
实例方法
以下方法适用于以下情况的Cookies
:
cookies.get(filter, callback)
filter
对象url
字符串(可选) - 检索与之关联的Cookieurl
。空意味着检索所有网址的Cookie。name
字符串(可选) - 按名称筛选Cookie。domain
字符串(可选) - 检索域匹配或其子域名的cookiedomains
path
字符串(可选) - 检索路径匹配的Cookiepath
。secure
布尔(可选) - 通过其Secure属性过滤Cookie。session
布尔(可选) - 过滤会话或永久性Cookie。
callback
功能error
错误cookies
Cookie [] - 一个cookie对象数组。
发送请求以获取所有匹配细节的cookie,回调函数将在回调(错误,cookies)完成时调用。
cookies.set(details, callback)
details
对象url
字符串 - 将Cookie与之关联的网址。name
字符串(可选) - Cookie的名称。如果省略,则默认为空。value
字符串(可选) - Cookie的值。如果省略,则默认为空。domain
字符串(可选) - Cookie的域。如果省略,则默认为空。path
字符串(可选) - Cookie的路径。如果省略,则默认为空。secure
布尔(可选) - 是否应将cookie标记为安全。默认为false。httpOnly
布尔(可选) - cookie是否应该标记为仅HTTP。默认为false。expirationDate
Double(可选) - cookie的到期日期,为自UNIX纪元以来的秒数。如果省略,那么cookie会变成会话cookie,并且不会在会话之间保留。
callback
功能error
错误
设置一个cookie的细节,回调将被称为回调(错误)完成。
cookies.remove(url, name, callback)
url
字符串 - 与Cookie关联的网址。name
字符串 - 要删除的Cookie的名称。callback
功能
删除匹配url和名称的cookie,回调将在callback()完成时调用。
cookies.flushStore(callback)
callback
Function
将任何不写入的cookie数据写入磁盘。
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com