OffscreenCanvas: contextlost Ereignis

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Das contextlost Ereignis der OffscreenCanvas Schnittstelle wird ausgelöst, wenn der Browser erkennt, dass der OffscreenCanvasRenderingContext2D Kontext verloren gegangen ist. Kontexte können aus verschiedenen Gründen verloren gehen, wie z.B. wenn ein zugehöriger GPU-Treiber abstürzt oder die Anwendung keinen Speicherplatz mehr hat.

Standardmäßig versucht der User-Agent, den Kontext wiederherzustellen und löst dann das contextrestored Ereignis aus. Benutzer-Code kann verhindern, dass der Kontext wiederhergestellt wird, indem Event.preventDefault() während der Ereignisbehandlung aufgerufen wird.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener(), oder setzen Sie eine Ereignishandler-Eigenschaft.

js
addEventListener("contextlost", (event) => {});

oncontextlost = (event) => {};

Ereignistyp

Ein generisches Event.

Beispiele

Der folgende Codeausschnitt erkennt das contextlost Ereignis.

js
const canvas = new OffscreenCanvas(256, 256);
const gl = offscreen.getContext("2d");

// Do drawing etc

canvas.addEventListener("contextlost", (event) => {
  console.log(event);
});

Um zu verhindern, dass der Kontext wiederhergestellt wird, könnte der Ereignishandler-Code stattdessen so aussehen:

js
canvas.addEventListener("contextlost", (event) => {
  event.preventDefault();
});

Spezifikationen

Specification
HTML Standard
# event-contextlost
HTML Standard
# handler-offscreencanvas-oncontextlost

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch