javascript - 使用IEWebGL时如何检测WebGL是否可用?

标签 javascript webgl

目前我检测 WebGL 是否可用于创建 Canvas 并尝试获取 “webgl”“experimental-webgl” 的上下文。如果两者都返回 null,WebGL 将被禁用。现在的问题是,当用户安装了 IEWebGL 时,应用程序本身工作正常,但两个 getContext 都返回 null,因此可用性检查返回 false。当我访问 IEWebGL 网站 (http://iewebgl.com/Developer.aspx#CreatingTutorial) 上的教程时,我可以看到他们所做的与我完全一样。我错过了什么吗? 一些代码:

var contextNames = ["webgl", "experimental-webgl"];

var isEnabled = false;
for(var i = 0, length = contextNames.length; i < length; i++)
    if(canvas[0].getContext(contextNames[i]))
        isEnabled = true;

最佳答案

您不在 IEWebGL 中创建 Canvas 元素,而是使用对象元素。尝试用这个替换你的 Canvas 元素,看看它是否有效:

<object type="application/x-webgl" id="canvas"></object>

关于javascript - 使用IEWebGL时如何检测WebGL是否可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12172415/

相关文章:

javascript - 如何显示用户选择上传的图像

javascript - WebGL:如何绘制五边形?

webgl - 学习 WebGL 和 Three.js

javascript - 简化 if else 语句

javascript - 使用之前的状态更新 firestore

javascript - 过滤器 es6 接受函数作为条件

javascript - 在 2 个数组之间传递时,值变得未定义

javascript - 如何在复杂场景中快速发现某个点是否被遮挡?

javascript - Three.js - 未捕获的类型错误 : undefined is not a function

javascript - THREE.OrbitControl 中的 EPS 是什么?