Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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():

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

Alternativ können Sie der Event-Handler-Eigenschaft der Schnittstelle einen Wert zuweisen:

js
oncontextlost = (event) => { }

Ereignistyp

Ein generisches Event.

Beispiele

Das folgende Codefragment 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 die Wiederherstellung des Kontexts zu verhindern, könnte der Event-Handler-Code stattdessen so aussehen:

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

Spezifikationen

Spezifikation
HTML
# event-contextlost
HTML
# handler-offscreencanvas-oncontextlost

Browser-Kompatibilität

Siehe auch