クラス: Cookies
クラス: Cookies
セッションのクッキーをクエリーしたり、変更したりします。
プロセス: メイン
このクラスは 'electron'
モジュールからはエクスポートされません。 Electron API では、他のメソッドの戻り値としてのみ利用できます。
Cookies
クラスのインスタンスには、Session
の cookies
プロパティを使用してアクセスします。
以下がその例です。
const { session } = require('electron')
// すべてのクッキーをクエリーします。
session.defaultSession.cookies.get({})
.then((cookies) => {
console.log(cookies)
}).catch((error) => {
console.log(error)
})
// 特定のurlに関連した 全てのクッキーを問い合わせ
session.defaultSession.cookies.get({ url: 'https://www.github.com' })
.then((cookies) => {
console.log(cookies)
}).catch((error) => {
console.log(error)
})
// 与えられたクッキーデータでクッキーをセット
// 同等なクッキーが存在していた場合、それを上書きすることあり
const cookie = { url: 'https://www.github.com', name: 'dummy_name', value: 'dummy' }
session.defaultSession.cookies.set(cookie)
.then(() => {
// 成功
}, (error) => {
console.error(error)
})
インスタンスイベント
Cookies
のインスタンスでは、以下のイベントが利用できます。
イベント: 'changed'
戻り値:
event
Eventcookie
Cookie - 変更された cookie。cause
string - 以下のいずれかの値となる変更の原因。explicit
- ユーザーのアクションによってクッキーが直接変更されました。overwrite
- 上書きする挿入操作のため、クッキーが自動的に削除されました。expired
- 有効期限切れのため、クッキーが自動的に削除されました。evicted
- ガベージコレクション中にクッキーが自動的に破棄されました。expired-overwrite
- クッキーが既に期限切れの有効期限で上書きされました。
removed
boolean - クッキーが削除された場合、true
、それ以外は、false
。
追加されたり、編集されたり、削除されたり、有効期限が切れたりすることによってクッキーが変更されたときに発生します。
インスタンスメソッド
Cookies
のインスタンスでは、以下のメソッドが利用できます。
cookies.get(filter)
filter
Objecturl
string (任意) -url
に関連付けられた Cookie を取得します。 空の場合は全ての URL の Cookie を取得します。name
string (任意) - 名前でクッキーをフィルタリングします。domain
string (任意) - クッキーのドメインと一致するか、ドメインがdomains
のサブドメインであるクッキーを取得します。path
string (任意) - クッキーのパスがpath
と一致するクッキーを取得します。secure
boolean (任意) - Secureプロパティでクッキーをフィルタリングします。session
boolean (任意) - セッションまたは永続的クッキーでフィルタリングします。httpOnly
String (任意) - httpOnly によるクッキーをフィルタリングします。
戻り値 Promise<Cookie[]>
- cookie オブジェクトの配列で解決される Promise。
filter
に一致するすべての cookie を取得するリクエストを送り、そのレスポンスで Promise を解決します。
cookies.set(details)
details
Objecturl
string - クッキーに関連付けられるURL。 URL が不正な場合、 Promise は reject されます。name
string (任意) - Cookie の名前。 省略された場合は既定で空になります。value
string (任意) - Cookie の値。 省略された場合は既定で空になります。domain
string (任意) - Cookie のド メインです。これはサブドメインでも有効になるように最初のドットで正規化されます。 省略された場合は既定で空になります。path
string (optional) - Cookie のパス。 省略された場合は既定で空になります。secure
boolean (任意) - Cookie に Secure フラグがついているか。 Same Site=None 属性が使用されていない限り、デフォルトでは false となります。httpOnly
boolean (任意) - Cookie に HttpOnly フラグがついているか。 省略値は、false です。expirationDate
Double (任意) - UNIX時間の秒数によるCookieの有効期限。 省略した場合、クッキーはセッションクッキーになり、セッション間では保持されなくなります。sameSite
string (任意) - この Cookie に適用する SameSite ポリシー。unspecified
、no_restriction
、lax
、strict
のいずれかにできます。 省略値はlax
です。
戻り値 Promise<void>
- cookie が設定されたときに解決される Promise。
cookie を details
で設定します。
cookies.remove(url, name)
url
string - クッキーに関連付けられたURL。name
string - 削 除するクッキーの名前。
戻り値 Promise<void>
- cookie が削除されたときに解決される Promise。
url
と name
が一致する cookie を削除します。
cookies.flushStore()
戻り値 Promise<void>
- cookie ストアがフラッシュされたときに解決される Promise。
未書き込みの Cookie のデータをディスクに書き込みます。
どの方法で書き込まれた Cookie も、すぐにディスクに書き込まれるわけではなく、30 秒または 512 回の操作ごとに書き込まれます。
このメソッドを呼び出すと、Cookie が即座にディスクに書き込まれます。