類別:Cookies
類別:Cookies
查詢和修改工作階段的 Cookie。
程序:主程序
此類別並未從 'electron'
模組匯出。它僅作為 Electron API 中其他方法的回傳值提供。
透過使用 Session
的 cookies
屬性來存取 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
相關聯的 Cookie。空值表示檢索所有 URL 的 Cookie。name
字串 (選用) - 依名稱篩選 Cookie。domain
字串 (選用) - 檢索網域符合或為domains
子網域的 Cookie。path
字串 (選用) - 檢索路徑符合path
的 Cookie。secure
布林值 (選用) - 依其 Secure 屬性篩選 Cookie。session
布林值 (選用) - 篩選出工作階段或持續性 Cookie。httpOnly
布林值 (選用) - 依 httpOnly 篩選 Cookie。
回傳 Promise<Cookie[]>
- 解析為 Cookie 物件陣列的 Promise。
傳送請求以取得符合 filter
的所有 Cookie,並使用回應解析 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 Epoch 以來的秒數表示。如果省略,則 Cookie 會變成工作階段 Cookie,且不會在工作階段之間保留。sameSite
字串 (選用) - 要套用至此 Cookie 的 Same Site 原則。可以是unspecified
、no_restriction
、lax
或strict
。預設值為lax
。
回傳 Promise<void>
- 當 Cookie 已設定時解析的 Promise
設定具有 details
的 Cookie。
cookies.remove(url, name)
url
字串 - 與 Cookie 相關聯的 URL。name
字串 - 要移除的 Cookie 的名稱。
回傳 Promise<void>
- 當 Cookie 已移除時解析的 Promise
移除符合 url
和 name
的 Cookie
cookies.flushStore()
回傳 Promise<void>
- 當 Cookie 儲存區已清除時解析的 Promise
將任何未寫入的 Cookie 資料寫入磁碟
任何方法寫入的 Cookie 不會立即寫入磁碟,而是每 30 秒或 512 次操作寫入一次
呼叫此方法會導致 Cookie 立即寫入磁碟。