ProgressEvent: ProgressEvent()-Konstruktor
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Der ProgressEvent()
-Konstruktor gibt ein neues ProgressEvent
-Objekt zurück, das den aktuellen Abschluss eines langwierigen Prozesses darstellt.
Syntax
new ProgressEvent(type)
new ProgressEvent(type, options)
Parameter
type
-
Ein String mit dem Namen des Ereignisses. Er ist case-sensitiv und Browser setzen ihn auf
loadstart
,progress
,abort
,error
,load
,timeout
oderloadend
. options
Optional-
Ein Objekt, das, zusätzlich zu den im
Event()
definierten Eigenschaften, die folgenden Eigenschaften haben kann:lengthComputable
Optional-
Ein boolescher Wert, der angibt, ob die gesamte zu erledigende Arbeit und die bereits geleistete Arbeit des zugrunde liegenden Prozesses berechenbar ist. Mit anderen Worten, es sagt aus, ob der Fortschritt messbar ist oder nicht. Standardmäßig ist es
false
. loaded
Optional-
Eine Zahl, die die bereits vom zugrunde liegenden Prozess geleistete Arbeit repräsentiert. Das Verhältnis der erledigten Arbeit kann mit der Eigenschaft und
ProgressEvent.total
berechnet werden. Beim Herunterladen einer Ressource mit HTTP repräsentiert dies nur den Teil des Inhalts selbst, nicht die Header und anderen Overheads. Standardmäßig ist es0
. total
Optional-
Eine Zahl, die den gesamten Arbeitsumfang repräsentiert, den der zugrunde liegende Prozess gerade durchführt. Beim Herunterladen einer Ressource mit HTTP repräsentiert dies nur den Inhalt selbst, nicht die Header und anderen Overheads. Standardmäßig ist es
0
.
Rückgabewert
Ein neues ProgressEvent
-Objekt.
Beispiel
Das Beispiel demonstriert, wie ein ProgressEvent
mit einem Konstruktor erstellt wird. Dies ist besonders nützlich zur Verfolgung des Fortschritts von Prozessen wie Datei-Uploads, Downloads oder anderen langlaufenden Aufgaben.
function updateProgress(loaded, total) {
const progressEvent = new ProgressEvent("progress", {
lengthComputable: true,
loaded: loaded,
total: total,
});
document.dispatchEvent(progressEvent);
}
document.addEventListener("progress", (event) => {
console.log(`Progress: ${event.loaded}/${event.total}`);
});
updateProgress(50, 100);
Spezifikationen
Specification |
---|
XMLHttpRequest Standard # dom-progressevent-progressevent |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Die
ProgressEvent
-Schnittstelle, zu der es gehört.