HTMLCanvasElement: 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 Canvas API wird ausgelöst, wenn der User-Agent feststellt, dass der unterstützende Speicher, der mit einem CanvasRenderingContext2D-Kontext verknüpft ist, verloren geht. Kontexte können aus verschiedenen Gründen verloren gehen, wie z.B. Treiberabstürze oder wenn die Anwendung keinen Speicher mehr hat, etc.

Standardmäßig versucht der User-Agent, den Kontext wiederherzustellen und löst dann das contextrestored-Ereignis aus. Benutzerdefinierter Code kann verhindern, dass der Kontext wiederhergestellt wird, indem während der Ereignisbehandlung Event.preventDefault() 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.

Beispiel

Das unten stehende Codefragment erkennt das contextlost-Ereignis.

js
const canvas = document.getElementById("canvas");

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

Um zu verhindern, dass der Kontext wiederhergestellt wird, könnte der Code stattdessen folgendermaßen aussehen:

js
const canvas = document.getElementById("canvas");

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

Spezifikationen

Specification
HTML Standard
# event-contextlost

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch