目前我检测 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/