跳到主要內容

類別:Cookies

類別:Cookies

查詢和修改會話的 cookies。

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

Cookies 類別的實例是透過使用 Sessioncookies 屬性來存取的。

例如

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 策略。可以是 unspecifiedno_restrictionlaxstrict。預設為 lax

返回 Promise<void> - 一個 promise,它在 cookie 已設定時解析

使用 details 設定 cookie。

cookies.remove(url, name)

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

返回 Promise<void> - 一個 promise,它在 cookie 已移除時解析

移除符合 urlname 的 cookies

cookies.flushStore()

返回 Promise<void> - 一個 promise,它在 cookie 儲存區已刷新時解析

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

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

調用此方法可能會導致 cookie 立即寫入磁碟。