HTMLCanvasElement:webglcontextrestored 事件
webglcontextrestored
事件是 WebGL API 的事件,如果用户代理恢复了 WebGLRenderingContext
对象的绘图缓冲区,则会触发此事件。
上下文恢复后,在上下文丢失之前创建的 WebGL 资源(如纹理和缓冲区)将不再有效。您需要重新初始化 WebGL 应用程序的状态并重新创建资源。
此事件不会冒泡。
语法
在诸如 addEventListener()
之类的方法中使用事件名称,或设置事件处理程序属性。
js
addEventListener("webglcontextrestored", (event) => {});
onwebglcontextrestored = (event) => {};
事件类型
一个 WebGLContextEvent
。继承自 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 表格仅在浏览器中加载