クラス: 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'
戻り値:
eventEventcookieCookie - 変更された cookie 。causestring - 以下のいずれかの値となる変更の原因。inserted- The cookie was inserted.inserted-no-change-overwrite- The newly inserted cookie overwrote a cookie but did not result in any change. For example, inserting an identical cookie will produce this cause.inserted-no-value-change-overwrite- The newly inserted cookie overwrote a cookie but did not result in any value change, but it's web observable (e.g. updates the expiry).explicit- The cookie was deleted directly by a consumer's action.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です。
Returns Promise<void> - A promise which resolves when the cookie has been set.
cookie を details で設定します。
cookies.remove(url, name)
urlstring - クッキーに関連付けられたURL。namestring - 削除するクッキーの名前。
Returns Promise<void> - A promise which resolves when the cookie has been removed.
Removes the cookies matching url and name.
cookies.flushStore()
Returns Promise<void> - A promise which resolves when the cookie store has been flushed.
未書き込みのクッキーのデータをディスクに書き込みます。
Cookies written by any method will not be written to disk immediately, but will be written every 30 seconds or 512 operations.
このメソッドを呼び出すと、Cookie が即座にディスクに書き込まれます。