我想检查用户浏览器是否启用并支持 WebGL 2。
WebGL 1 有很多帖子,但我没有发现任何与 WebGL 版本 2 相关的帖子。
您应该检查的方式只是查看尝试获取webgl2
上下文是成功还是失败
const gl = document.createElement('canvas').getContext('webgl2');
if (!gl) {
console.log('your browser/OS/drivers do not support WebGL2');
} else {
console.log('webgl2 works!');
}
您还可以检查是否window.WebGL2RenderingContext
存在以尝试猜测它是不支持 WebGL2 的浏览器还是用户的 OS/GPU/驱动程序。
const gl = document.createElement('canvas').getContext('webgl2');
if (!gl) {
if (typeof WebGL2RenderingContext !== 'undefined') {
console.log('your browser appears to support WebGL2 but it might be disabled. Try updating your OS and/or video card drivers');
} else {
console.log('your browser has no WebGL2 support at all');
}
} else {
console.log('webgl2 works!');
}
检查webgl2
上下文是否在canvas
元素上可用,如下所示:
const isWebGL2Supported = () => !!document.createElement('canvas').getContext('webgl2')
isWebGL2Supported() ? console.log('supported') : console.log('unsupported')