diff options
author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2022-02-05 10:29:48 +0900 |
---|---|---|
committer | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2022-02-12 10:43:00 +0900 |
commit | b62bebd065f27cf6de4a54c10c514087863676f6 (patch) | |
tree | 26fd27a9e23ba634cf6e814dc68bd75fdecc84c6 /files/ja/web/api/htmlinputelement/webkitdirectory/index.md | |
parent | 01f082cdc9c06afc6dfa7573345590ea9eec8714 (diff) | |
download | translated-content-b62bebd065f27cf6de4a54c10c514087863676f6.tar.gz translated-content-b62bebd065f27cf6de4a54c10c514087863676f6.tar.bz2 translated-content-b62bebd065f27cf6de4a54c10c514087863676f6.zip |
HTMLInputElement のプロパティの記事を移行
Diffstat (limited to 'files/ja/web/api/htmlinputelement/webkitdirectory/index.md')
-rw-r--r-- | files/ja/web/api/htmlinputelement/webkitdirectory/index.md | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/files/ja/web/api/htmlinputelement/webkitdirectory/index.md b/files/ja/web/api/htmlinputelement/webkitdirectory/index.md new file mode 100644 index 0000000000..4adb0120dd --- /dev/null +++ b/files/ja/web/api/htmlinputelement/webkitdirectory/index.md @@ -0,0 +1,138 @@ +--- +title: HTMLInputElement.webkitDirectory +slug: Web/API/HTMLInputElement/webkitDirectory +tags: + - API + - File System API + - File and Directory Entries API + - Files + - HTML DOM + - HTMLInputElement + - Non-standard + - Property + - Reference + - Web + - webkitdirectory + - プロパティ +translation_of: Web/API/HTMLInputElement/webkitdirectory +--- +<p>{{APIRef("HTML DOM")}}{{non-standard_header}}</p> + +<p><span class="seoSummary"><code><strong>HTMLInputElement.webkitDirectory</strong></code> プロパティで、 {{htmlattrxref("webkitdirectory", "input")}} という HTML 属性の値を反映し、 {{HTMLElement("input")}} 要素によってユーザーがファイルの代わりにディレクトリを選択できることを示します。ディレクトリが選択された場合、ディレクトリとその内容の階層構造が選択されたアイテムのセットに含まれます。選択されているファイルシステムのファイルアイテムは、 {{domxref("HTMLInputElement.webkitEntries", "webkitEntries")}} を使用して受け取ることができます。</span></p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"> <em>HTMLInputElement</em>.webkitdirectory = <em>boolValue</em></pre> + +<h3 id="Value" name="Value">値</h3> + +<p>論理型で、 <code>true</code> は {{HTMLElement("input")}} 要素がディレクトリの身を選択することができることを、 <code>false</code> はファイルのみが選択できることを示します。</p> + +<h2 id="Understanding_the_results" name="Understanding_the_results">結果を理解する</h2> + +<p>ユーザーが選択を行った後、 <code>files</code> の中のそれぞれの {{domxref("File")}} オブジェクトは各自が {{domxref("File.webkitRelativePath")}} プロパティセットを持ち、ファイルが所在する位置が選択されたディレクトリの中の相対パスで設定されます。例えば、次のようなファイルシステムを考えてみてください。</p> + +<ul> + <li>PhotoAlbums + <ul> + <li>Birthdays + <ul> + <li>Jamie's 1st birthday + <ul> + <li>PIC1000.jpg</li> + <li>PIC1004.jpg</li> + <li>PIC1044.jpg</li> + </ul> + </li> + <li>Don's 40th birthday + <ul> + <li>PIC2343.jpg</li> + <li>PIC2344.jpg</li> + <li>PIC2355.jpg</li> + <li>PIC2356.jpg</li> + </ul> + </li> + </ul> + </li> + <li>Vacations + <ul> + <li>Mars + <ul> + <li>PIC5533.jpg</li> + <li>PIC5534.jpg</li> + <li>PIC5556.jpg</li> + <li>PIC5684.jpg</li> + <li>PIC5712.jpg</li> + </ul> + </li> + </ul> + </li> + </ul> + </li> +</ul> + +<p>ユーザーが <code>PhotoAlbums</code> を選択すると、 files によって報告されるリストは上記のすべてのファイルに対する {{domxref("File")}} オブジェクトを含みます。 — しかし、ディレクトリは含みません。 <code>PIC2343.jpg</code> のエントリでは <code>webkitRelativePath</code> が <code>PhotoAlbums/Birthdays/Don's 40th birthday/PIC2343.jpg</code> となりますこれによって {{domxref("FileList")}} がフラットでも階層構造を知ることができます。</p> + +<div class="note"> +<p><strong>メモ:</strong> <code>webkitRelativePath</code> の挙動は <em>Chromium < 72</em> では異なります。詳しくは<a href="https://bugs.chromium.org/p/chromium/issues/detail?id=124187">このバグ</a>を参照してください。</p> +</div> + +<h2 id="Example" name="Example">例</h2> + +<p>この例では、ユーザーが1つまたは複数のディレクトリを選択することができるディレクトリピッカーが表示されます。 {{event("change")}} イベントが発生すると、選択されたディレクトリ階層ないのすべてのファイルを含むリストが生成され、表示されます。</p> + +<h3 id="HTML_content">HTML content</h3> + +<pre class="brush: html"><input type="file" id="filepicker" name="fileList" webkitdirectory multiple /> +<ul id="listing"></ul></pre> + +<h3 id="JavaScript_content">JavaScript content</h3> + +<pre class="brush: js">document.getElementById("filepicker").addEventListener("change", function(event) { + let output = document.getElementById("listing"); + let files = event.target.files; + + for (let i=0; i<files.length; i++) { + let item = document.createElement("li"); + item.innerHTML = files[i].webkitRelativePath; + output.appendChild(item); + }; +}, false); +</pre> + +<h3 id="Result" name="Result">結果</h3> + +<p>{{ EmbedLiveSample('Example') }}</p> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状態</th> + <th scope="col">備考</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{ SpecName('File System API', '#dom-htmlinputelement-webkitdirectory', 'webkitdirectory') }}</td> + <td>{{ Spec2('File System API') }}</td> + <td>初回定義</td> + </tr> + </tbody> +</table> + +<p>This API has no official W3C or WHATWG specification.</p> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<p>{{Compat("api.HTMLInputElement.webkitdirectory")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li><a href="/ja/docs/Web/API/File_and_Directory_Entries_API">File and Directory Entries API</a></li> + <li>{{domxref("HTMLInputElement.webkitEntries")}}</li> + <li>{{domxref("File.webkitRelativePath")}}</li> +</ul> |