blob: 45ab80f27b118b55b5ebab8a56232c6b0d272719 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
---
title: CookieStore
slug: Web/API/CookieStore
tags:
- API
- Interface
- Reference
- CookieStore
browser-compat: api.CookieStore
---
{{securecontext_header}}{{DefaultAPISidebar("Cookie Store API")}}
{{domxref('Cookie Store API')}} のインターフェイスである **`CookieStore`** は、ページまたはサービスワーカーから非同期に Cookie を取得、設定するためのメソッドを提供します。
`CookieStore` は {{domxref("Window")}} or {{domxref("ServiceWorkerGlobalScope")}} コンテキスト内のグローバスコープの属性を介してアクセスされます。そのため、コンストラクタはありません。
{{InheritanceDiagram}}
## メソッド
- {{domxref("CookieStore.delete()")}}
- : `delete()` メソッドは与えられた名前またはオプションオブジェクトを持つ Cookie を削除します。削除が完了すると解決される {{jsxref("Promise")}} が返されます。
- {{domxref("CookieStore.get()")}}
- : `get()` メソッドは与えられた名前またはオプションオブジェクトで 1 つの Cookie を取得します。1 つの Cookie の詳細に解決される {{jsxref("Promise")}} を返します。
- {{domxref("CookieStore.getAll()")}}
- : `getAll()` メソッドはマッチするすべての Cookie を取得します。Cookie のリストに解決される {{jsxref("Promise")}} を返します。
- {{domxref("CookieStore.set()")}}
- : `set()` メソッドは与えられた名前と値またはオプションオブジェクトを Cookie に設定し、Cookie が設定されると解決される {{jsxref("Promise")}} を返します。
## イベント
- {{domxref("CookieStore.change_event")}}
- : `change` イベントは、任意の Cookie に変更が加えられたときに発生します。
## 例
この例では、Cookie を設定し、操作が成功したか失敗したかのフィードバックをコンソールに書き込んでいます。
```js
const day = 24 * 60 * 60 * 1000;
cookieStore.set({
name: "cookie1",
value: "cookie1-value",
expires: Date.now() + day,
domain: "example.com"
})
.then(
function() {
console.log("It worked!");
},
function(reason) {
console.error("It failed: ", reason);
}
);
```
## 仕様
{{Specifications}}
## ブラウザーの互換性
{{Compat}}
|