当前,我通过创建画布并尝试获取"webgl"
和"experimental-webgl"
的上下文来检测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>