HTMLCanvasElement:webglcontextrestored 事件

基线 广泛可用

此功能已得到良好确立,并在许多设备和浏览器版本上都能正常工作。它自以下时间起在各浏览器中可用 2015 年 7 月.

webglcontextrestored 事件是 WebGL API 的事件,如果用户代理恢复了 WebGLRenderingContext 对象的绘图缓冲区,则会触发此事件。

上下文恢复后,在上下文丢失之前创建的 WebGL 资源(如纹理和缓冲区)将不再有效。您需要重新初始化 WebGL 应用程序的状态并重新创建资源。

此事件不会冒泡。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

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

onwebglcontextrestored = (event) => {};

事件类型

事件属性

此接口继承其父接口 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);
  },
  false,
);

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

// "webglcontextrestored" event is logged.

规范

规范
WebGL 规范
# 5.15.3

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅