recursal/MDN huggingface dataset:
ウェブストレージ API
============

**ウェブストレージ API** (Web Storage API) は、Cookie を使用するよりも直観的な方法で、ブラウザーがキーと値のペアを保存できる仕組みを提供します。

ウェブストレージの概念と用途
--------------

ウェブストレージには、以下の 2 種類の仕組みがあります。

* `sessionStorage` は、ページのセッション中（ページの再読み込みや復元を含む、ブラウザーを開いている間）に使用可能な、オリジンごとに区切られた保存領域を管理します。
    + 1 セッションのデータのみを保存します。つまり、データはブラウザー（またはタブ）が閉じられるまで保存されます。
    + データがサーバーに転送されることはありません。
    + ストレージの上限が Cookie よりも大きいです（最大 5MB）。
* `localStorage` も同様ですが、こちらはブラウザーを閉じたり再び開いたりしても持続します。
    + 有効期限なしでデータを保存し、JavaScript によるクリア、もしくは、ブラウザーキャッシュ/ローカルに保存したデータのクリアによってのみクリアされます。
    + ストレージ制限は 2 つの中で最大です。

これらの仕組みは `Window.sessionStorage` および `Window.localStorage` プロパティ（正確には、サポートするブラウザーは `Window` オブジェクトが `WindowLocalStorage` および `WindowSessionStorage` オブジェクトを実装しており、これらに `localStorage` および `sessionStorage` プロパティがあります）を通して使用でき、いずれかのプロパティを使用すると `Storage` オブジェクトのインスタンスを生成して、データアイテムの保存、取り出し、削除ができます。 同じオリジンに対して `sessionStorage` と `localStorage` は、別の `Storage` オブジェクトを使用します。 これらは別々に制御されて機能します。

**メモ:** Firefox では、ブラウザーがクラッシュまたは再起動したとき、オリジンごとに保存されるデータ量は 10MB に制限されます。詳しくは、ブラウザーのストレージ制限と削除基準を参照してください。

**メモ:** ユーザーがサードパーティの Cookie を禁止している（英語）場合は、サードパーティの iframe からウェブストレージにアクセスできません。

ウェブストレージインターフェイス
----------------

`Storage`

特定のドメインおよびストレージタイプ（セッションまたはローカル）に対して、データを保存、取り出し、削除できます。

`Window`

ウェブストレージ API は `Window` オブジェクトを、`Window.sessionStorage` および `Window.localStorage` という 2 つの新たなプロパティで拡張します。これらは、それぞれ現在のドメインのセッションおよびローカルの `Storage` オブジェクトへのアクセス手段を提供します。 また、保存領域が変更される（例えば新たなアイテムを保存する）と発生する、`storage` イベントハンドラーもあります。

`StorageEvent`

`storage` イベントは、保存領域が変更されたときにドキュメントの `Window` オブジェクトで発生します。

例
-

ウェブストレージの典型的な使用法を示すため、Web Storage Demo と名づけたシンプルな例を作成しました。ランディングページには、色、フォント、装飾画像をカスタマイズするためのコントロールがあります。 別の選択肢を選ぶと、即座にページが更新されます。 さらに、選択内容を `localStorage` に保存しますので、別のページに移動した後に再びこのページを読み込むと、選択内容が維持されています。

また、event output ページも提供します。 このページを別のタブで開くと、ランディングページで選択肢を変更したときに `StorageEvent` が発生するのに応じて、更新されたストレージの情報が出力されるのを確認できます。

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-localstorage-dev |
| HTML Standard # dom-sessionstorage-dev |

ブラウザーの互換性
---------

### api.Window.localStorage

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

### api.Window.sessionStorage

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

プライベートブラウジング / シークレットモード
------------------------

プライベートウィンドウ、シークレットモード、および同様の名前のプライバシーブラウジングオプションでは、履歴やクッキーのようなデータは格納されません。プライベートモードでは `localStorage` は `sessionStorage` のように扱われます。ストレージ API が利用可能で完全に機能しますが、プライベートウィンドウに格納されたデータはすべてブラウザーまたはブラウザータブが閉じられたときに削除されます。

関連情報
----

* ウェブストレージ API の使用
* ブラウザーのストレージ制限と削除基準
Bluetooth
=========

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

Web Bluetooth API の **`Bluetooth`** インターフェイスは、指定のオプションに合致する `BluetoothDevice` オブジェクトで解決する `Promise` を返します。

EventTarget

Bluetoothインスタンスプロパティ
-----------

*親の `EventTarget` からプロパティを継承します。*

インスタンスメソッド
----------

`Bluetooth.getAvailability()` 
Experimental

ユーザーエージェントに Bluetooth を扱う機能があるかを表す `boolean` 値で解決する `Promise` を返します。これが何を返すかに影響するオプションをユーザーが設定できるユーザーエージェントもあります。このオプションが設定されている場合、このメソッドはその値を返します。

`Bluetooth.getDevices()` 
Experimental

オリジンが既に `Bluetooth.requestDevice()` の呼び出しにより使用する許可を得ている `BluetoothDevice` の配列で解決する `Promise` を返します。

`Bluetooth.requestDevice()` 
Experimental

指定のオプションに合致する `BluetoothDevice` オブジェクトで解決する `Promise` を返します。

イベント
----

`availabilitychanged` 
Experimental

Bluetooth の能力のうち利用可能性が変化したとき発火するイベントです。

仕様書
---

| Specification |
| --- |
| Web Bluetooth # bluetooth |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
HTMLDListElement
================

**`HTMLDListElement`** インターフェイスは、（継承によって使用できる通常の `HTMLElement` インターフェイスのものの他に）定義リスト要素 (`<dl>`) を操作するための特別なプロパティを提供します。

EventTarget

Node

Element

HTMLElement

HTMLDListElementインスタンスプロパティ
-----------

*親である `HTMLElement` から継承したプロパティがあります。*

`HTMLDListElement.compact` 
非推奨

論理値で、リスト項目間の間隔を縮小することを示します。

インスタンスメソッド
----------

*固有のメソッドはありません。親である `HTMLElement` から継承したメソッドがあります。*

仕様書
---

| Specification |
| --- |
| HTML Standard # htmldlistelement |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* このインターフェイスを実装している HTML 要素: `<dl>`
Animation
=========

Baseline 2022
-------------

Newly availableSince September 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Learn more
* See full compatibility
* Report feedback
**`Animation`** はウェブアニメーション APIのインターフェイスで、アニメーションプレイヤーを表し、アニメーションノードやソースに対する再生制御やタイムラインを提供します。

EventTarget

Animationコンストラクター
--------

`Animation()`

新しい `Animation` オブジェクトのインスタンスを生成します。

インスタンスプロパティ
-----------

`Animation.currentTime`

このアニメーションの現在時刻の値で、ミリ秒単位です。再生中か停止中かは問いません。アニメーションに `timeline` (en-US) がなかったり、無効であったり、まだ再生されていなかったりした場合は、この値は `null` になります。

`Animation.effect`

このアニメーションに関連付けられた `AnimationEffect` を取得または設定します。これはふつう、 `KeyframeEffect` (en-US) オブジェクトになります。

`Animation.finished` 読取専用 

このアニメーションにおいて現在完了しているプロミスを返します。

`Animation.id`

このアニメーションを識別するための `String` を取得または設定します。

`Animation.pending` 読取専用 

このアニメーションが現在、再生待ちや再生中の一時停止などの非同期操作を待機しているかどうかを示します。

`Animation.playState` 読取専用 

列挙型の値で、アニメーションの再生状態を示す列挙値を返します。

`Animation.playbackRate`

このアニメーションの再生速度を取得または設定します。

`Animation.ready` 読取専用 

このアニメーションの準備ができているかどうかを示すプロミスを返します。

`Animation.replaceState` 読取専用 

アニメーションがアクティブか、他のアニメーションに置き換えられて自動的に除去されたか、 `Animation.persist()` の呼び出しによって明示的に維持されているかを示します。

`Animation.startTime`

アニメーションの再生が始まる予定の時刻を取得または設定します。

`Animation.timeline`

このアニメーションに関連付けられる `timeline` (en-US) を取得または設定します。

インスタンスメソッド
----------

`Animation.cancel()`

このアニメーションで発生したすべての `keyframeEffects` (en-US) を消去し、再生を中止します。

`Animation.commitStyles()`

アニメーションの現在のスタイル状態を、そのアニメーションが削除された後でも、アニメーションしている要素にコミットします。これは、アニメーションの現在のスタイル状態を `style` 属性内のプロパティの形で動作している要素に書き込むことで行われます。

`Animation.finish()`

再生位置をアニメーションのどちらかの端まで移動します。アニメーションが通常再生中か逆再生中かによって変わります。

`Animation.pause()`

アニメーションの再生を一時停止します。

`Animation.persist()`

アニメーションを明示的に維持し、別のアニメーションに置き換わったときにアニメーションの自動削除が行われることを防ぎます。

`Animation.play()`

アニメーションの再生を開始または再開します。また、前回終了したアニメーションを再度開始します。

`Animation.reverse()`

再生方向を反転させ、アニメーションの開始位置で停止させます。アニメーションが終了しているか未再生の場合は、末尾から先頭に向けて再生されます。

`Animation.updatePlaybackRate()`

アニメーションの再生位置を同期させた後の速度を設定します。

イベント
----

`cancel`

`Animation.cancel()` メソッドが呼び出されるか、アニメーションの再生状態が他の状態から `"idle"` へ遷移した場合に発行されます。

`finish`

アニメーションの再生が終了した時に発行されます。

`remove`

アニメーションが取り除かれた時 (すなわち、 `active` 置換状態に遷移した時）に発行されます。

アクセシビリティの考慮
-----------

注意欠陥多動性障碍（ADHD）などの認知能力に不安のある方にとって、まばたきや点滅するアニメーションは問題となることがあります。さらに、ある種の動作は、前庭障害、てんかん、片頭痛、スコトピック過敏症の引き金になることがあります。

アニメーションを一時停止したり、無効にしたりするメカニズムを提供したり、動作縮減メディアクエリー（または同等のユーザーエージェントクライアントヒント `Sec-CH-Prefers-Reduced-Motion` (en-US))）を使って、アニメーションなしの操作を希望するユーザーのために補完的な操作を提供することを検討してください。

* Designing Safer Web Animation For Motion Sensitivity · An A List Apart Article
* An Introduction to the Reduced Motion Media Query | CSS-Tricks
* Responsive Design for Motion | WebKit
* MDN WCAG を理解する　ガイドライン 2.2 の説明
* Understanding Success Criterion 2.2.2 | W3C Understanding WCAG 2.0
仕様書
---

| Specification |
| --- |
| Web Animations # the-animation-interface |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* ウェブアニメーション API
CookieStoreManager
==================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

「Cookie Store API」の **`CookieStoreManager`** インターフェイスは、サービスワーカーが Cookie 変更イベントを購読できるようにします。変更イベントを受け取るには、特定のサービスワーカーの登録で `subscribe()` を呼びます。

`CookieStoreManager` には、関連づいた `ServiceWorkerRegistration` があります。それぞれのサービスワーカーの登録には、Cookie 変更購読リストがあります。これは、それぞれが名前と URL を持つ Cookie 変更購読のリストです。このインターフェイスのメソッドにより、サービスワーカーはこのリストに購読を追加したり、リストから購読を削除したり、すべての購読のリストを取得したりできます。

`CookieStoreManager` を得るには、`ServiceWorkerRegistration.cookies` (en-US) を参照します。

インスタンスメソッド
----------

`CookieStoreManager.getSubscriptions()` 
Experimental

このサービスワーカーの登録の Cookie 変更購読のリストで解決する `promise` を返します。

`CookieStoreManager.subscribe()` 
Experimental

Cookie の変更を購読します。購読に成功したら解決する `promise` を返します。

`CookieStoreManager.unsubscribe()` 
Experimental

このサービスワーカーの登録の Cookie の変更の購読を解除します。操作に成功したら解決する `promise` を返します。

例
-

この例では、`registration` で表される `ServiceWorkerRegistration` が、名前が `"cookie1"` でスコープが `"/path1"` である Cookie の変更イベントを購読します。


```js
const subscriptions = [{ name: "cookie1", url: `/path1` }];
await registration.cookies.subscribe(subscriptions);
```


`ServiceWorkerRegistration` が既に何か Cookie を購読している場合は、`getSubscriptions()` はもとの購読で用いるのと同じ形式のオブジェクトで表された Cookie のリストを返します。


```js
const subscriptions = await registration.cookies.getSubscriptions();
```

仕様書
---

| Specification |
| --- |
| Cookie Store API # cookiestoremanager |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
CSSValue
========

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**`CSSValue`** インターフェイスは、 CSS プロパティの現在の計算値を表します。

**メモ:** このインターフェイスは、型付き CSS オブジェクトモデルを作成する試みの一部でした。この試みは放棄され、ほとんどのブラウザーはこのインターフェイスを実装していません。

目的を達成するためには、次のものを利用することができます。

* 型のない CSS オブジェクトモデル、広く対応されています。
* 新しい CSS 型付きオブジェクトモデル API、対応が限られており、実験的と見なされています。

インスタンスプロパティ
-----------

`CSSValue.cssText` 
非推奨

文字列で、現在の値を表します。

`CSSValue.cssValueType` 読取専用  
非推奨

`unsigned short` で、値の型を定義するコードを表します。可能な値は次のとおりです。

| 定数 | 説明 |
| --- | --- |
| `CSS_CUSTOM` | この値はカスタム値です。 |
| `CSS_INHERIT` | この値は継承したものであり、 `cssText` は `"inherit"` となっています。 |
| `CSS_PRIMITIVE_VALUE` | この値はプリミティブ値であり、 `CSSPrimitiveValue` (en-US) インターフェイスのインスタンスは、この `CSSValue` インターフェイスのインスタンスに対してバインディング固有のキャストメソッドを使用することで取得することができます。 |
| `CSS_VALUE_LIST` | この値は `CSSValue` のリストであり、 `CSSValueList` (en-US) インターフェイスのインスタンスは、この `CSSValue` インターフェイスのインスタンスに対してバインディング固有のキャストメソッドを使用して取得することができます。 |

仕様書
---

この機能は元々 DOM Style Level 2 仕様で定義されていましたが、その後、全ての標準化作業から外されています。

これは、現代の、しかし互換性のない、CSS 型付きオブジェクトモデル API に取って代わられ、標準化路線になりました。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `CSSPrimitiveValue` (en-US)
* `CSSValueList` (en-US)
HTMLMenuElement
===============

**`HTMLMenuElement`** インターフェイスは、（通常の `HTMLElement` インターフェイスで定義され、継承によって利用できるもの以外に）`<menu>` 要素を操作するための特別なプロパティを提供します。

EventTarget

Node

Element

HTMLElement

HTMLMenuElementコンストラクター
--------

`HTMLMenuElement()`

新しく構築された `HTMLMenuElement` を返します。

インスタンスプロパティ
-----------

*親である `HTMLElement` およびその祖先から継承したプロパティがあります。*

`compact` 
非推奨

メニューをコンパクトに表示するかどうかを決定する論理値です。

`type` 
非推奨

Non-standard

 このメニューがコンテキストメニューであれば `context` を返します。
 この `<menu>` 要素の使用方法は広く実装されたことがなく、非推奨になりました。


`label` 
非推奨

Non-standard

 メニューがコンテキストメニューとして使用されるときに表示される、メニューと名前を関連付ける文字列です。
 この `<menu>` 要素の使用方法は広く実装されたことがなく、非推奨になりました。


インスタンスメソッド
----------

*親である `HTMLElement` およびその祖先から継承したメソッドがあります。*

*`HTMLMenuElement` は固有のメソッドを実装していません。*

仕様書
---

| Specification |
| --- |
| HTML Standard # htmlmenuelement |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `HTMLMenuItemElement` (en-US)
HTMLObjectElement
=================

**`HTMLObjectElement`** インターフェイスは、外部リソースを表す `<object>` 要素のレイアウトや表示を操作するための特別なプロパティとメソッド（継承によって利用できる `HTMLElement` インターフェイスのもの以外のもの）を提供するものです。

EventTarget

Node

Element

HTMLElement

HTMLObjectElementインスタンスプロパティ
-----------

*親である `HTMLElement` から継承したプロパティがあります。*

`HTMLObjectElement.align` 
非推奨

文字列で、列挙型のプロパティを表し、要素のコンテンツが周囲のコンテキストに対して整列していることを示します。指定可能な値は `"left"`, `"right"`, `"justify"`, `"center"` です。

`HTMLObjectElement.archive` 
非推奨

HTML の `archive` 属性を反映した文字列で、このオブジェクトのリソースのアーカイブのリストを示します。

`HTMLObjectElement.border` 
非推奨

HTML の `border` 属性を反映した文字列で、オブジェクトの周りにある境界の幅を指定します。

`HTMLObjectElement.code` 
非推奨

アプレットのクラスファイルの名前を表す文字列で、アプレットのサブクラス、またはクラスファイル自体を含むクラスにアクセスするためのパスが入ります。

`HTMLObjectElement.codeBase` 
非推奨

HTML の `codebase` 属性を反映した文字列で、相対 URI を解決するために使用する基底パスを指定します。

`HTMLObjectElement.codeType` 
非推奨

HTML の `codetype` 属性を反映した文字列で、データのコンテンツ型を指定します。

`HTMLObjectElement.contentDocument` 読取専用 

この object 要素のネストされた閲覧コンテキストのアクティブな文書を表す `Document` があればそれを返し、なければ `null` を返します。

`HTMLObjectElement.contentWindow` 読取専用 

この object 要素のネストされた閲覧コンテキストのウィンドウプロキシーがあればそれを表す WindowProxy を返し、なければ `null` を返します。

`HTMLObjectElement.data`

HTML の `data` 属性を反映した文字列で、リソースのデータのアドレスを指定するものを返します。

`HTMLObjectElement.declare` 
非推奨

HTML の `declare` 属性を反映した論理値で、これがオブジェクトのインスタンス化ではなく宣言であることを示します。

`HTMLObjectElement.form` 読取専用 

このオブジェクトのフォームオーナーを表す `HTMLFormElement` を返します。存在しなければ null を返します。

`HTMLObjectElement.height`

HTML の `height` 属性を反映した文字列で、リソースが表示される高さを CSS ピクセル数で指定する値を返します。

`HTMLObjectElement.hspace` 
非推奨

`long` で、このコントロールの周囲にある水平方向の空間をピクセル数で表します。

`HTMLObjectElement.name`

HTML の `name` 属性を反映した文字列で、閲覧コンテキストの名前を示すものを返します。

`HTMLObjectElement.standby` 
非推奨

HTML の `standby` 属性を反映した文字列で、オブジェクトの読み込み中に表示されるメッセージを指定します。

`HTMLObjectElement.type`

HTML の `type` 属性を反映した文字列で、リソースの MIME タイプを指定します。

`HTMLObjectElement.useMap`

HTML の `usemap` 属性を反映した文字列で、使用する `<map>` 要素を指定します。

`HTMLObjectElement.validationMessage` 読取専用 

コントロールが満たしていない制約検証を説明する、ローカライズされたメッセージを（もしあれば）文字列で返します。コントロールが制約検証の候補でない場合（`willValidate` が `false` である場合）、あるいは制約を満たしている場合には、これは空文字列となります。

`HTMLObjectElement.validity` 読取専用 

この要素が属する有効状態を `ValidityState` で返します。

`HTMLObjectElement.vspace` 
非推奨

`long` で、このコントロールの周囲にある垂直方向の空間をピクセル数で表します。

`HTMLObjectElement.width`

HTML の `width` 属性を反映した文字列で、リソースが表示される幅を CSS ピクセル数で指定する値を返します。

`HTMLObjectElement.willValidate` 読取専用 

その要素が制約検証の候補であるかどうかを示す論理値を返します。 `HTMLObjectElement` オブジェクトの場合は常に `false` です。

インスタンスメソッド
----------

*親である `HTMLElement` からメソッドを継承しています。*

`HTMLObjectElement.checkValidity()`

`object` オブジェクトは制約検証の候補になることはないので、常に `true` となる論理値を返します。

`HTMLObjectElement.setCustomValidity()`

要素の独自の有効性メッセージを設定します。このメッセージが空文字列でない場合、その要素は独自の有効性エラーが発生しており、検証が通りません。

仕様書
---

| Specification |
| --- |
| HTML Standard # htmlobjectelement |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* このインターフェイスを実装している HTML 要素: `<object>`
WebGLObject
===========

**`WebGLObject`** は WebGL API の一部であり、すべての WebGL オブジェクトの親インターフェイスです。

このオブジェクト自体には公開プロパティも公開メソッドもありません。

WebGL コンテキストが失われた場合、すべての `WebGLObject` インスタンスの内部にある *invalidated* フラグが `true` に設定されます。

`WebGLObject` を継承しているオブジェクト
---------------------------

WebGL 1:

* `WebGLBuffer`
* `WebGLFramebuffer`
* `WebGLProgram`
* `WebGLRenderbuffer`
* `WebGLShader`
* `WebGLTexture` (en-US)

WebGL 2:

* `WebGLQuery` (en-US) （および `WebGLTimerQueryEXT`）
* `WebGLSampler` (en-US)
* `WebGLSync` (en-US)
* `WebGLTransformFeedback` (en-US)
* `WebGLVertexArrayObject` (en-US) （および `WebGLVertexArrayObjectOES`）
関連情報
----

* `WebGLRenderingContext.isContextLost()` (en-US)
* `WEBGL_lose_context` (en-US)
* `webglcontextlost` イベント
FileSystemDirectoryEntry
========================

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

**`FileSystemDirectoryEntry`** は File and Directory Entries API のインターフェイスで、ファイルシステム内のディレクトリを表します。これはディレクトリ内のファイルにアクセスして操作する方法と、ディレクトリ内のエントリにアクセスする方法を提供します。

基本概念
----

`getDirectory()` (en-US) を呼び出して新しいディレクトリを作成することができます。サブディレクトリを作成する場合は、各子ディレクトリを順番に作成します。まだ存在しない親ディレクトリを含むフルパスを使用してディレクトリを作成しようとすると、エラーが返されます。したがって、親ディレクトリを作成した後、新しいパスを再帰的に追加して階層を作成します。

### 例

次のコードスニペットでは、 "Documents" というディレクトリを作成します。


```js
// Taking care of the browser-specific prefixes.
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.directoryEntry = window.directoryEntry || window.webkitDirectoryEntry;

...

function onFs(fs){
  fs.root.getDirectory('Documents', {create:true}, function(directoryEntry){
    //directoryEntry.isFile === false
    //directoryEntry.isDirectory === true
    //directoryEntry.name === 'Documents'
    //directoryEntry.fullPath === '/Documents'

    }, onError);

  }

// 一時記憶装置でファイルシステムを開く
window.requestFileSystem(TEMPORARY, 1024\*1024 /\*1MB\*/, onFs, onError);
```

プロパティ
-----

*このインターフェイスは独自のプロパティを持っていませんが、親インターフェイス `FileSystemEntry` (en-US) からプロパティを継承しています。*

メソッド
----

*このインターフェイスは、親インターフェイスである `FileSystemEntry` (en-US) からメソッドを継承しています。*

`createReader()` (en-US)

このディレクトリ内のエントリを読み込むために使用できる `FileSystemDirectoryReader` (en-US) オブジェクトを作成します。

`getDirectory()` (en-US)

メソッドが呼び出されるディレクトリを基準に、指定されたパスにあるディレクトリを表す `FileSystemDirectoryEntry` オブジェクトを返します。

`getFile()` (en-US)

メソッドが呼び出されるディレクトリに対する相対パスを指定して、ディレクトリの階層内にあるファイルを表す `FileSystemFileEntry` オブジェクトを返します。

### 廃止されたメソッド

`removeRecursively()` (en-US)

サブディレクトリのコンテンツを含むディレクトリとそのすべてのコンテンツを削除します。これは仕様から削除されました。

仕様
--

| Specification |
| --- |
| File and Directory Entries API # api-directoryentry |

ブラウザの互換性
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* File and Directory Entries API
* File System API の紹介
* `FileSystemDirectoryReader` (en-US)
* `FileSystemEntry` (en-US)
* `FileSystemFileEntry`
ViewTransition
==============

Limited availability
--------------------

This feature is not Baseline because it does not work in some of the most widely-used browsers.

* Learn more
* See full compatibility
* Report feedback
**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

**`ViewTransition`** はビュートランジション API のインターフェースで、ビュートランジションを表し、トランジションが様々な状態（例えば、アニメーションを実行する準備ができている、またはアニメーションが終了した）に達したときに反応する機能、またはトランジションを完全にスキップする機能を提供します。

このオブジェクト型は `document.startViewTransition()` メソッドが返します。 `startViewTransition()` が呼び出されると、ビュートランジションのプロセスで説明されている一連のステップに従います。これは様々なプロミスが履行されるタイミングについても説明しています。

インスタンスプロパティ
-----------

`ViewTransition.finished` 
Experimental

`Promise` で、トランジションのアニメーションが完了し、新しいページビューがユーザーに表示され操作可能になると履行されます。

`ViewTransition.ready` 
Experimental

`Promise` で、擬似要素ツリーが作成され、トランジションのアニメーションが始まろうとすると履行されます。

`ViewTransition.updateCallbackDone` 
Experimental

`Promise` で、 `document.startViewTransition()` のコールバックが返すプロミスが履行されたときに履行されます。

インスタンスメソッド
----------

`skipTransition()` 
Experimental

ビュートランジションのアニメーション部分をスキップします。ただし、 DOM を更新する `document.startViewTransition()` コールバックの実行はスキップしません。

例
-

次の例では、 `ViewTransition.ready` プロミスを使用して、クリック時のユーザーカーソルの位置から発生する独自の円形表示ビュートランジションを発生させ、 ウェブアニメーション API によってアニメーションが指定されています。


```js
// 最後のクリックイベントを保存
let lastClick;
addEventListener("click", (event) => (lastClick = event));

function spaNavigate(data) {
  // この API に対応していないブラウザーのためのフォールバック
  if (!document.startViewTransition) {
    updateTheDOMSomehow(data);
    return;
  }

  // クリック位置を取得するか、画面の中央へフォールバックする
  const x = lastClick?.clientX ?? innerWidth / 2;
  const y = lastClick?.clientY ?? innerHeight / 2;
  // 最も遠いコーナーまでの距離を取得
  const endRadius = Math.hypot(
    Math.max(x, innerWidth - x),
    Math.max(y, innerHeight - y),
  );

  // トランジションを作成
  const transition = document.startViewTransition(() => {
    updateTheDOMSomehow(data);
  });

  // 擬似要素が作成されるのを待つ
  transition.ready.then(() => {
    // ルートの新しいビューをアニメーション
    document.documentElement.animate(
      {
        clipPath: [
          `circle(0 at ${x}px ${y}px)`,
          `circle(${endRadius}px at ${x}px ${y}px)`,
        ],
      },
      {
        duration: 500,
        easing: "ease-in",
        // アニメーションさせる擬似要素を指定
        pseudoElement: "::view-transition-new(root)",
      },
    );
  });
}
```


このアニメーションには以下の CSS も必要です。既定のアニメーションをオフにし、古いビューと新しいビューの状態が混ざり合わないようにします（新しい状態はビュートランジションの遷移ではなく、古い状態のすぐ上に「ワイプ」されます）。


```css
::view-transition-image-pair(root) {
  isolation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
  animation: none;
  mix-blend-mode: normal;
  display: block;
}
```

仕様書
---

| Specification |
| --- |
| CSS View Transitions Module Level 1 # viewtransition |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* Smooth and simple transitions with the View Transitions API
ContactAddress
==============

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

**`ContactAddress`** は連絡先ピッカー API のインターフェイスで、物理的な住所を表します。 このインターフェイスのインスタンスは、 `ContactsManager.getProperties()` が返すオブジェクトの `address` プロパティから取得されます。

郵便物の宛先に関する国際規格の情報を提供する万国郵便連合のウェブサイトの Addressing S42 standard の素材を参照することが有益な場合があります。

インスタンスプロパティ
-----------

*親である `PaymentAddress` からプロパティを継承しています*。

インスタンスメソッド
----------

*親である `PaymentAddress` からメソッドを継承しています*。

例
-

以下の例では、ユーザーに連絡先を選択するよう促し、最初に返された住所をコンソールに表示します。


```js
const props = ["address"];
const opts = { multiple: true };

async function getContacts() {
  try {
    const contacts = await navigator.contacts.select(props, ops);
    const contactAddress = contacts[0].address[0];
    console.log(contactAddress);
  } catch (ex) {
    // Handle any errors here.
  }
}
```

仕様書
---

| Specification |
| --- |
| Contact Picker API # contactaddress |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
VRDisplayEvent
==============

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**非標準:** この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

**`VRDisplayEvent`** は WebVR API のインターフェイスで、 WebVR 関連イベントのイベントオブジェクトを表します（WebVR ウインドウ拡張機能のリストを参照）。

**メモ:** このインターフェイスは古い WebVR API の一部でした。これは WebXR 機器 API に置き換えられました。

コンストラクター
--------

`VRDisplayEvent()` 
非推奨

Non-standard

`VRDisplayEvent` オブジェクトのインスタンスを生成します。

インスタンスプロパティ
-----------

*`VRDisplayEvent` は、親オブジェクトである `Event` からプロパティを継承しています。*

`VRDisplayEvent.display` 
非推奨
 読取専用  
Non-standard

このイベントに関連付けられた `VRDisplay` 。

`VRDisplayEvent.reason` 
非推奨
 読取専用  
Non-standard

イベントが発生した人間が読める理由。

例
-


```js
window.addEventListener("vrdisplaypresentchange", (e) => {
  console.log(
    `Display ${e.display.displayId} presentation has changed. Reason given: ${e.reason}.`,
  );
});
```

仕様書
---

このインターフェイスは古い WebVR API の一部であり、これは WebXR 機器 API で置き枯れられました。標準規格になる見込みはありません。

すべてのブラウザーが新しい WebXR API を実装するまで、 A-Frame、Babylon.js、Three.js などのフレームワークを使用するか、ポリフィルを使用することが、すべてのブラウザーで動作する WebXR アプリを開発する上で推奨されます。[1]

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* WebVR API
PerformanceLongTaskTiming
=========================

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

Long Tasks API の **`PerformanceLongTaskTiming`** インターフェイスは、長いタスクのインスタンスを報告します。

PerformanceEntry

PerformanceLongTaskTimingプロパティ
-----

`PerformanceLongTaskTiming.attribution` 読取専用 

`TaskAttributionTiming` インスタンスのシーケンスを返します。

仕様書
---

| Specification |
| --- |
| Long Tasks API # sec-PerformanceLongTaskTiming |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.