aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/progressevent/index.md
blob: 0abefa90601a656f9361e8c7781aec6bede3b5b9 (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
64
65
66
67
68
69
70
71
72
---
title: ProgressEvent
slug: Web/API/ProgressEvent
tags:
  - API
  - Interface
  - 進捗イベント
  - ProgressEvent
  - Reference
browser-compat: api.ProgressEvent
translation_of: Web/API/ProgressEvent
---
{{APIRef("DOM Events")}}

**`ProgressEvent`** インターフェイスは、プロセスの進捗、例えば HTTP リクエスト(`XMLHttpRequest`、または {{HTMLElement("img")}}, {{HTMLElement("audio")}}, {{HTMLElement("video")}}, {{HTMLElement("style")}}, {{HTMLElement("link")}} のような基本的なリソースの読み込み)などを計測するイベントを表します。

{{InheritanceDiagram}}

## コンストラクター

- {{domxref("ProgressEvent.ProgressEvent", "ProgressEvent()")}}
  - : 指定した引数で `ProgressEvent` イベントを作成します。

## プロパティ

_親である {{domxref("Event")}} から継承したプロパティもあります。_

- {{domxref("ProgressEvent.lengthComputable")}} {{readonlyInline}}
  - : 論理値のフラグで、基礎となるプロセスで行われる作業の合計と、既に行われた作業の量が計算可能かどうかを示します。言い換えれば、進捗が測定可能かどうかを示します。
- {{domxref("ProgressEvent.loaded")}} {{readonlyInline}}
  - : 64 ビット符号なし整数値で、基礎となるプロセスで既に実行された作業の量を示す。行われた作業の比率は、 `total` でこのプロパティの値を割ることで計算できます。 HTTP を使用してリソースをダウンロードする場合、これは HTTP メッセージの本文のみをカウントし、ヘッダーやその他のオーバーヘッドは含まれません。
- {{domxref("ProgressEvent.total")}} {{readonlyInline}}
  - : 64 ビット符号なし整数で、基礎となるプロセスが実行中の作業の総量を表す。 HTTP でリソースをダウンロードする場合、これは `Content-Length` (メッセージの本文のサイズ)であり、ヘッダーやその他のオーバーヘッドは含まれません。

## メソッド

_親である {{domxref("Event")}} から継承したメソッドもあります。_

- {{domxref("ProgressEvent.initProgressEvent()")}} {{deprecated_inline}}{{non-Standard_inline}}
  - : 非推奨の {{domxref("Document.createEvent()", "Document.createEvent(\"ProgressEvent\")")}} メソッドを使用して生成された `ProgressEvent` を初期化します。

## 例

以下の例は `ProgressEvent` を新しい {{domxref("XMLHTTPRequest")}} に追加し、リクエストの状態を表示するために使用します。

```js
var progressBar = document.getElementById("p"),
    client = new XMLHttpRequest()
client.open("GET", "magical-unicorns")
client.onprogress = function(pe) {
  if(pe.lengthComputable) {
    progressBar.max = pe.total
    progressBar.value = pe.loaded
  }
}
client.onloadend = function(pe) {
  progressBar.value = pe.loaded
}
client.send()
```

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

- 基本インターフェイスの {{domxref("Event")}}