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

时间:2012-08-29 06:59:24

标签: javascript webgl

目前,我检测WebGL是否可用于创建画布并尝试获取"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;

1 个答案:

答案 0 :(得分:3)

您不能在IEWebGL中创建canvas元素,而是使用对象元素。尝试用此替换canvas元素,看看它是否有效:

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