This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
The webglcontextcreationerror event of the WebGL API is fired if the user agent is unable to create a WebGLRenderingContext context.
This event has a WebGLContextEvent.statusMessage property, which can contain a platform dependent string with more information about the failure.
This event does not bubble.
Use the event name in methods like addEventListener(), or set an event handler property.
addEventListener("webglcontextcreationerror", (event) => { })
onwebglcontextcreationerror = (event) => { }
A WebGLContextEvent. Inherits from Event.
This interface inherits properties from its parent interface, Event.
WebGLContextEvent.statusMessageA read-only property containing additional information about the event.
const canvas = document.getElementById("canvas");
canvas.addEventListener(
"webglcontextcreationerror",
(e) => {
console.log(e.statusMessage || "Unknown error");
},
false,
);
const gl = canvas.getContext("webgl");
// logs statusMessage or "Unknown error" if unable to create WebGL context
| Specification |
|---|
| WebGL Specification> # 5.15.4> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
webglcontextcreationerror_event |
9 | 12 | 49 | 12 | 5.1 | 25 | 49 | 12 | 8 | 1.5 | 4.4 | 8 |
WebGLContextEventWebGLRenderingContext.isContextLost()WEBGL_lose_context, WEBGL_lose_context.loseContext(), WEBGL_lose_context.restoreContext()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/webglcontextcreationerror_event