類別:Cookies
類別:Cookies
查詢和修改會話的 cookies。
程序: 主程序
此類別不是從 'electron'
模組匯出的。它僅作為 Electron API 中其他方法的傳回值提供。
Cookies
類別的實例是透過使用 Session
的 cookies
屬性來存取的。
例如
const { session } = require('electron')
// Query all cookies.
session.defaultSession.cookies.get({})
.then((cookies) => {
console.log(cookies)
}).catch((error) => {
console.log(error)
})
// Query all cookies associated with a specific url.
session.defaultSession.cookies.get({ url: 'https://www.github.com' })
.then((cookies) => {
console.log(cookies)
}).catch((error) => {
console.log(error)
})
// Set a cookie with the given cookie data;
// may overwrite equivalent cookies if they exist.
const cookie = { url: 'https://www.github.com', name: 'dummy_name', value: 'dummy' }
session.defaultSession.cookies.set(cookie)
.then(() => {
// success
}, (error) => {
console.error(error)
})
實例事件
以下事件在 Cookies
的實例上可用
事件:'changed'
返回
event
事件cookie
Cookie - 已變更的 cookie。cause
字串 - 變更的原因,具有以下其中一個值explicit
- cookie 由使用者的動作直接變更。overwrite
- cookie 因插入操作覆寫它而被自動移除。expired
- cookie 因過期而被自動移除。evicted
- cookie 在垃圾收集期間被自動移除。expired-overwrite
- cookie 被已過期的到期日覆寫。
removed
布林值 - 如果 cookie 已移除,則為true
,否則為false
。
當 cookie 因新增、編輯、移除或過期而變更時發出。
實例方法
以下方法在 Cookies
的實例上可用
cookies.get(filter)
filter
物件url
字串 (選填) - 檢索與url
相關聯的 cookies。空白表示檢索所有 URL 的 cookies。name
字串 (選填) - 按名稱篩選 cookies。domain
字串 (選填) - 檢索網域符合或為domains
子網域的 cookies。path
字串 (選填) - 檢索路徑符合path
的 cookies。secure
布林值 (選填) - 按其 Secure 屬性篩選 cookies。session
布林值 (選填) - 篩選出會話或持久性 cookies。httpOnly
布林值 (選填) - 按 httpOnly 篩選 cookies。
返回 Promise<Cookie[]>
- 一個 promise,它解析為 cookie 物件的陣列。
發送請求以取得所有符合 filter
的 cookies,並使用響應解析 promise。
cookies.set(details)
details
物件url
字串 - 與 cookie 關聯的 URL。如果 URL 無效,promise 將被拒絕。name
字串 (選填) - cookie 的名稱。如果省略,預設為空白。value
字串 (選填) - cookie 的值。如果省略,預設為空白。domain
字串 (選填) - cookie 的網域;這將使用前導點進行正規化,使其也適用於子網域。如果省略,預設為空白。path
字串 (選填) - cookie 的路徑。如果省略,預設為空白。secure
布林值 (選填) - 是否應將 cookie 標記為 Secure。除非使用 Same Site=None 屬性,否則預設為 false。httpOnly
布林值 (選填) - 是否應將 cookie 標記為僅 HTTP。預設為 false。expirationDate
雙精度浮點數 (選填) - cookie 的到期日,以自 UNIX 紀元以來的秒數表示。如果省略,則 cookie 將變為會話 cookie,並且不會在會話之間保留。sameSite
字串 (選填) - 應用於此 cookie 的 Same Site 策略。可以是unspecified
、no_restriction
、lax
或strict
。預設為lax
。
返回 Promise<void>
- 一個 promise,它在 cookie 已設定時解析
使用 details
設定 cookie。
cookies.remove(url, name)
url
字串 - 與 cookie 關聯的 URL。name
字串 - 要移除的 cookie 名稱。
返回 Promise<void>
- 一個 promise,它在 cookie 已移除時解析
移除符合 url
和 name
的 cookies
cookies.flushStore()
返回 Promise<void>
- 一個 promise,它在 cookie 儲存區已刷新時解析
將任何未寫入的 cookie 資料寫入磁碟
任何方法寫入的 cookies 不會立即寫入磁碟,而是每 30 秒或 512 次操作寫入一次
調用此方法可能會導致 cookie 立即寫入磁碟。