From 66b9b4025cc29236dee7e4465740c43d1220d08f Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 29 Jan 2022 13:04:35 +0900 Subject: 2021/09/15 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/xmlhttprequest/upload/index.md | 164 ++++++++++++------------ 1 file changed, 84 insertions(+), 80 deletions(-) (limited to 'files/ja/web/api') diff --git a/files/ja/web/api/xmlhttprequest/upload/index.md b/files/ja/web/api/xmlhttprequest/upload/index.md index a570608060..7bef31baaf 100644 --- a/files/ja/web/api/xmlhttprequest/upload/index.md +++ b/files/ja/web/api/xmlhttprequest/upload/index.md @@ -5,99 +5,103 @@ tags: - AJAX - API - Monitoring XMLHttpRequest - - Property - - Read-only - - Reference - - Sending Files - - Uploading + - プロパティ + - 読み取り専用 + - リファレンス + - ファイル送信 + - アップロード - XHR - - XHR Uploads + - XHR アップロード - XMLHttpRequest - - XMLHttpRequest Uploads + - XMLHttpRequest アップロード - XMLHttpRequestUpload - - upload - アップロード - - ファイル送信 +browser-compat: api.XMLHttpRequest.upload translation_of: Web/API/XMLHttpRequest/upload --- -
{{APIRef('XMLHttpRequest')}}
+{{APIRef('XMLHttpRequest')}} -

{{domxref("XMLHttpRequest")}} の upload プロパティは、アップロードの進捗を監視することができる {{domxref("XMLHttpRequestUpload")}} オブジェクトを返します。これは不透過なオブジェクトですが、 {{domxref("XMLHttpRequestEventTarget")}} でもあるため、進捗を追跡するために添付することができます。

+{{domxref("XMLHttpRequest")}} の `upload` プロパティは、アップロードの進捗を監視することができる {{domxref("XMLHttpRequestUpload")}} オブジェクトを返します。 -

以下のイベントは upload オブジェクトを起動してアップロードを監視する目に使用することができます。

+これは不透過なオブジェクトですが、 {{domxref("XMLHttpRequestEventTarget")}} でもあるため、進捗を追跡するためにイベントリスナーを装着することができます。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
イベントイベントリスナー解説
{{event("loadstart")}}{{domxref("XMLHttpRequest.onloadstart", "onloadstart")}}アップロードが始まった。
{{event("progress")}}{{domxref("XMLHttpRequest.onprogress", "onprogress")}}進捗の量を示すために定期的に発生する。
{{event("abort")}}{{domxref("XMLHttpRequest.onabort", "onabort")}}アップロード操作が中断された。
{{event("error")}}{{domxref("XMLHttpRequest.onerror", "onerror")}}アップロードがエラーのために失敗した。
{{event("load")}}{{domxref("XMLHttpRequest.onload", "onload")}}アップロードが完全に成功した。
{{event("timeout")}}{{domxref("XMLHttpRequest.ontimeout", "ontimeout")}}返事が {{domxref("XMLHttpRequest.timeout")}} で指定された時間間隔内に届かなかったため、アップロードがタイムアウトされた。
{{event("loadend")}}{{domxref("XMLHttpRequest.onloadend", "onloadend")}}アップロードが終了した。このイベントでは成功か失敗かを区別することはできず、結果にかかわらずアップロードが終了したときに送信されます。このイベントの前に、 load, error, abort, timeout のうちの1つがアップロードが終了した理由を示すために配信されます。
+> **Note:** このオブジェクトにイベントリスナーを装着すると、リクエストが「単純なリクエスト」ではなくなり、オリジンをまたぐ場合はプリフライトリクエストが発行されるようになります。 [CORS](/ja/docs/Web/HTTP/CORS) を参照してください。このため、イベントリスナーは {{domxref("XMLHttpRequest.send", "send()")}} を呼び出す前に登録する必要があり、そうしないとアップロードイベントが発行されなくなります。 -

仕様書

+> **Note:** また、仕様書では、イベントリスナーは {{domxref("XMLHttpRequest.open", "open()")}} の後に装着すべきとされているようです。しかし、ブラウザーはこの点に関してバグが多く、リスナーを {{domxref("XMLHttpRequest.open", "open()")}} の前に登録しないと動作しないことがよくあります。 - - - - - - - - - - - - - - - +以下のイベントは、アップロードオブジェクト上で発行され、アップロードを監視するために使用することができます。 + +
仕様書状態備考
{{SpecName('XMLHttpRequest', '#the-upload-attribute')}}{{Spec2('XMLHttpRequest')}}WHATWG living standard
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
イベントイベントリスナー解説
{{domxref("XMLHttpRequest/loadstart_event", "loadstart")}} + {{domxref("XMLHttpRequest.onloadstart", "onloadstart")}} + アップロードが始まった。
{{domxref("XMLHttpRequest/progress_event", "progress")}} + {{domxref("XMLHttpRequest.onprogress", "onprogress")}} + + 進捗を示すために定期的に発行されます。 +
{{domxref("XMLHttpRequest/abort_event", "abort")}}{{domxref("XMLHttpRequest.onabort", "onabort")}}アップロード操作が中止された。
{{domxref("XMLHttpRequest/error_event", "error")}}{{domxref("XMLHttpRequest.onerror", "onerror")}}アップロードがエラーで失敗した。
{{domxref("XMLHttpRequest/load_event", "load")}}{{domxref("XMLHttpRequest.onload", "onload")}}アップロードが成功裏に完了した。
{{domxref("XMLHttpRequest/timeout_event", "timeout")}} + {{domxref("XMLHttpRequest.ontimeout", "ontimeout")}} + + {{domxref("XMLHttpRequest.timeout")}} で指定された時間内に返答が届かなかったために、アップロードがタイムアウトした。 +
{{domxref("XMLHttpRequest/loadend_event", "loadend")}} + {{domxref("XMLHttpRequest.onloadend", "onloadend")}} + + アップロードが終了した。このイベントは成功か失敗かにかかわらず、アップロードが終了したときに発行されます。このイベントより前に、 load, error, abort, timeout の何れかが、アップロードが終了した理由を示すために配信されます。 +
-

ブラウザーの互換性

+## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 -

{{Compat("api.XMLHttpRequest.upload")}}

+{{Compat}} -

関連情報

+## 関連情報 - +- [XMLHttpRequest の使用](/ja/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest) +- [FileHandle API](/ja/docs/Web/API/File_Handle_API) +- [File and Directory Entries API](/ja/docs/Web/API/File_and_Directory_Entries_API) -- cgit v1.2.3-54-g00ecf