クラス: Cookies
クラス: Cookies
セッションのクッキーをクエリーしたり、変更したりします。
Process: Main
This class is not exported from the 'electron' module. 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'
戻り値:
eventEventcookieCookie - The cookie that was changed.causestring - 以下のいずれかの値となる変更の原因。explicit- ユーザーのアクションによってクッキーが直接変更されました。overwrite- 上書きする挿入操作のため、クッキーが自動的に削除されました。expired- 有効期限切れのため、クッキーが自動的に削除されました。evicted- ガベージコレクション中にクッキーが自動的に破棄されました。expired-overwrite- クッキーが既に期限切れの有効期限で上書きされました。
removedboolean - クッキーが削除された場合、true、それ以外は、false。
追加されたり、編集されたり、削除されたり、有効期限が切れたりすることによってクッキーが変更されたときに発生します。
インスタンスメソッド
Cookies のインスタンスでは、以下のメソッドが利用できます。
cookies.get(filter)
filterObjecturlstring (任意) -urlに関連付けられた Cookie を取得します。 空の場合は全ての URL の Cookie を取得します。namestring (任意) - 名前でクッキーをフィルタリングします。domainstring (任意) - クッキーのドメインと一致するか、ドメインがdomainsのサブドメインであるクッキーを取得します。pathstring (任意) - クッキーのパスがpathと一致するクッキーを取得します。secureboolean (任意) - Secureプロパティでクッキーをフィルタリングします。sessionboolean (任意) - セッションまたは永続的クッキーでフィルタリングします。httpOnlyString (任意) - httpOnly によるクッキーをフィルタリングします。
戻り値 Promise<Cookie[]> - cookie オブジェクトの配列で解決される Promise。
filter に一致するすべての cookie を取得するリクエストを送り、そのレスポンスで Promise を解決します。
cookies.set(details)
detailsObjecturlstring - クッキーに関連付けられるURL。 URL が不正な場合、 Promise は reject されます。namestring (任意) - Cookie の名前。 省略された場合は既定で空になります。valuestring (任意) - Cookie の値。 省略された場合は既定で空になります。domainstring (任意) - Cookie のドメインです。これはサブドメインでも有効になるように最初のドットで正規化されます。 省略された場合は既定で空になります。pathstring (optional) - Cookie のパス。 省略された場合は既定で空になります。secureboolean (任意) - Cookie に Secure フラグがついているか。 Same Site=None 属性が使用されていない限り、デフォルトでは false となります。httpOnlyboolean (任意) - Cookie に HttpOnly フラグがついているか。 省略値は、false です。expirationDateDouble (任意) - UNIX時間の秒数によるCookieの有効期限。 省略した場合、クッキーはセッションクッキーになり、セッション間では保持されなくなります。sameSitestring (任意) - この Cookie に適用する SameSite ポリシー。unspecified、no_restriction、lax、strictのいずれかにできます。 省略値はlaxです。
戻り値 Promise<void> - cookie が設定されたときに解決される Promise。
cookie を details で設定します。
cookies.remove(url, name)
urlstring - クッキーに関連付けられたURL。namestring - 削除するクッキーの名前。
戻り値 Promise<void> - cookie が削除されたときに解決される Promise。
url と name が一致する cookie を削除します。
cookies.flushStore()
戻り値 Promise<void> - cookie ストアがフラッシュされたときに解決される Promise。
未書き込みの Cookie のデータをディスクに書き込みます。
どの方法で書き込まれた Cookie も、すぐにディスクに書き込まれるわけではなく、30 秒または 512 回の操作ごとに書き込まれます。
このメソッドを呼び出すと、Cookie が即座にディスクに書き込まれます。