首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否自动启用webGL?

是否自动启用webGL?
EN

Stack Overflow用户
提问于 2013-05-20 15:30:40
回答 1查看 3.1K关注 0票数 1

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

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

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

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

EN

回答 1

Stack Overflow用户

发布于 2013-05-26 19:19:20

没有办法在浏览器中自动启用WebGL。默认情况下,浏览器供应商将启用它- Safari和IE是该领域的两个后来者。IE11 (source)即将推出WebGL,我想下一个版本将默认开启它(距离上一个版本已经一年多了)。

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

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

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

代码语言:javascript
运行
复制
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,但这并不总是有效的(一些浏览器会返回误报)。最好的方法是创建一个canvas元素并检查WebGL上下文:

代码语言:javascript
运行
复制
function webGLSupport()
{
    var canvas = document.createElement( 'canvas' );
    var webgl = false;

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

    return webgl;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16644635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档