HTMLCanvasElement: contextlost イベント

Limited availability

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

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

contextlostキャンバス API のイベントで、 CanvasRenderingContext2D コンテキストに関連付けられたバックストレージが失われたことをユーザーエージェントが検出すると、発行されます。 コンテキストは、ドライバーのクラッシュやアプリケーションのメモリー不足など、いくつかの理由で失われることがあります。

既定では、ユーザーエージェントはコンテキストの復元を試み、contextrestored イベントを発行します。 ユーザーコードは、イベント処理中に Event.preventDefault() を呼び出すことにより、コンテキストが復元されるのを防ぐことができます。

構文

このイベント名を addEventListener() などのメソッドで使用したり、イベントハンドラープロパティを設定したりしてください。

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

oncontextlost = (event) => {};

イベント型

一般的な Event です。

次のコードは、contextlost イベントを検出するものです。

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

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

コンテキストが復元されないようにするためのコードは次のようになります。

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

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

仕様書

Specification
HTML Standard
# event-contextlost

ブラウザーの互換性

BCD tables only load in the browser

関連情報