HTMLCanvasElement: contextlost イベント
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