跳至主要內容

類別:Cookies

類別:Cookies

查詢和修改工作階段的 Cookie。

程序:主程序
此類別並未從 'electron' 模組匯出。它僅作為 Electron API 中其他方法的回傳值提供。

透過使用 Sessioncookies 屬性來存取 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 原則。可以是 unspecifiedno_restrictionlaxstrict。預設值為 lax

回傳 Promise<void> - 當 Cookie 已設定時解析的 Promise

設定具有 details 的 Cookie。

cookies.remove(url, name)

  • url 字串 - 與 Cookie 相關聯的 URL。
  • name 字串 - 要移除的 Cookie 的名稱。

回傳 Promise<void> - 當 Cookie 已移除時解析的 Promise

移除符合 urlname 的 Cookie

cookies.flushStore()

回傳 Promise<void> - 當 Cookie 儲存區已清除時解析的 Promise

將任何未寫入的 Cookie 資料寫入磁碟

任何方法寫入的 Cookie 不會立即寫入磁碟,而是每 30 秒或 512 次操作寫入一次

呼叫此方法會導致 Cookie 立即寫入磁碟。