我正在使用glfx.js jquery插件来调整图像的色调/饱和度,但大多数浏览器都不支持WebGL
如果网站使用webgl,有没有办法在浏览器中自动启用webgl?
我知道你需要在Safari中手动启用它,IE有一个插件。
或者有没有什么方法可以让我们在页面加载时知道WebGl被禁用了?
发布于 2013-05-26 19:19:20
没有办法在浏览器中自动启用WebGL。默认情况下,浏览器供应商将启用它- Safari和IE是该领域的两个后来者。IE11 (source)即将推出WebGL,我想下一个版本将默认开启它(距离上一个版本已经一年多了)。
但是,您可以检测是否启用了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
,但这并不总是有效的(一些浏览器会返回误报)。最好的方法是创建一个canvas元素并检查WebGL上下文:
function webGLSupport()
{
var canvas = document.createElement( 'canvas' );
var webgl = false;
try
{
webgl = !!( canvas.getContext( 'webgl' ) || canvas.getContext( 'experimental-webgl' ) );
}
catch(e) {};
return webgl;
}
https://stackoverflow.com/questions/16644635
复制相似问题