Javascript 是否自动启用webGL?

Javascript 是否自动启用webGL?,javascript,browser,webgl,Javascript,Browser,Webgl,我使用jquery插件来调整图像的色调/饱和度,但大多数浏览器不支持WebGL 如果网站使用webgl,是否有办法在浏览器中自动启用webgl 我知道您需要在Safari中手动启用它,并且有一个IE插件 或者有没有什么方法可以让我们在加载页面时知道WebGl已被禁用?没有一种方法可以在浏览器中自动启用WebGl。默认情况下,浏览器供应商有权启用它——Safari和IE是该领域的两个后来者。WebGL是在IE11()中发布的,我可以想象Safari的下一个版本将默认启用它(从上一个版本开始已经有一

我使用jquery插件来调整图像的色调/饱和度,但大多数浏览器不支持WebGL

如果网站使用webgl,是否有办法在浏览器中自动启用webgl

我知道您需要在Safari中手动启用它,并且有一个IE插件


或者有没有什么方法可以让我们在加载页面时知道WebGl已被禁用?

没有一种方法可以在浏览器中自动启用WebGl。默认情况下,浏览器供应商有权启用它——Safari和IE是该领域的两个后来者。WebGL是在IE11()中发布的,我可以想象Safari的下一个版本将默认启用它(从上一个版本开始已经有一年多了)

但是,您可以检测是否启用了WebGL

您可能已经知道,如果未启用WebGL,glfx.js会弹出一条错误消息。如果是这样的话,听起来像是在尝试采取其他行动(不支持WebGL)

查看glfx.js文档,他们提供了以下示例:

window.onload = function() {
    // try to create a WebGL canvas (will fail if WebGL isn't supported)
    try {
        var canvas = fx.canvas();
    } catch (e) {
        alert(e);
        // Here is where you want to take some other action
        // For example, redirecting to another page with window.location.href = ...
        return;
    }
}
对于那些不使用glfx.js阅读本文的人,最简单的检查是使用
!!window.WebGLRenderingContext
,但这并不总是有效(有些浏览器会抛出误报)。最好是创建画布元素并检查WebGL上下文:

function webGLSupport()
{
    var canvas = document.createElement( 'canvas' );
    var webgl = false;

    try
    {
        webgl = !!( canvas.getContext( 'webgl' ) || canvas.getContext( 'experimental-webgl' ) );
    }
    catch(e) {};

    return webgl;
}

谢谢,但正如你们所知,我使用glfx.js作为亮度/对比度,所以大多数浏览器都不支持它,即使我使用Mozila 21.0,但它不支持webgl,谷歌chrome也存在同样的问题,chrome支持webgl,但当我更改亮度/对比度值时,图像完全是黑色的。你知道其他关于亮度/对比度的jquery插件吗。谢谢