HTMLCanvasElement: webglcontextrestored 事件

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

webglcontextrestoredWebGL API 中的一個事件,當用戶代理為 WebGLRenderingContext 物件恢復繪圖緩衝區時,會觸發此事件。

上下文恢復後,之前建立的 WebGL 資源(如紋理和緩衝區)將不再有效。您需要重新初始化 WebGL 應用程式的狀態並重新建立資源。

此事件不冒泡。

語法

在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。

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

onwebglcontextrestored = (event) => { }

事件型別

一個 WebGLContextEvent。繼承自 Event

Event WebGLContextEvent

事件屬性

此介面繼承自其父介面 Event 的屬性。

WebGLContextEvent.statusMessage

一個只讀屬性,包含有關事件的附加資訊。

示例

藉助 WEBGL_lose_context 擴充套件,您可以模擬 webglcontextrestored 事件。

js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");

canvas.addEventListener("webglcontextrestored", (e) => {
  console.log(e);
});

gl.getExtension("WEBGL_lose_context").restoreContext();

// "webglcontextrestored" event is logged.

規範

規範
WebGL 規範
# 5.15.3

瀏覽器相容性

另見