OffscreenCanvas: contextlost-Ereignis
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Das contextlost-Ereignis der OffscreenCanvas-Schnittstelle wird ausgelöst, wenn der Browser erkennt, dass der OffscreenCanvasRenderingContext2D-Kontext verloren gegangen ist.
Ein Kontext kann aus verschiedenen Gründen verloren gehen, beispielsweise weil der zugehörige GPU-Treiber abstürzt oder der Anwendung der Arbeitsspeicher ausgeht.
Standardmäßig versucht der User Agent, den Kontext wiederherzustellen, und löst anschließend das contextrestored-Ereignis aus.
Sie können die Wiederherstellung des Kontexts verhindern, indem Sie während der Ereignisbehandlung Event.preventDefault() aufrufen.
Syntax
Verwenden Sie den Ereignisnamen in addEventListener():
addEventListener("contextlost", (event) => { })
Alternativ können Sie der Event-Handler-Eigenschaft der Schnittstelle einen Wert zuweisen:
oncontextlost = (event) => { }
Ereignistyp
Ein generisches Event.
Beispiele
Das folgende Codefragment erkennt das contextlost-Ereignis.
const canvas = new OffscreenCanvas(256, 256);
const gl = offscreen.getContext("2d");
// Do drawing etc
canvas.addEventListener("contextlost", (event) => {
console.log(event);
});
Um die Wiederherstellung des Kontexts zu verhindern, könnte der Event-Handler-Code stattdessen so aussehen:
canvas.addEventListener("contextlost", (event) => {
event.preventDefault();
});
Spezifikationen
| Spezifikation |
|---|
| HTML> # event-contextlost> |
| HTML> # handler-offscreencanvas-oncontextlost> |