Невозможно автоматически включить WebGL в браузере. В настоящее время браузеру разрешено включать его по умолчанию - Safari и IE являются двумя опоздавшими в этой области. WebGL поступает в IE11 (source), и я бы предположил, что следующий релиз Safari будет включен по умолчанию (прошло более года со времени последней версии).
Однако вы можете обнаружить, включен ли WebGL.
Как вы, вероятно, знаете, glfx.js выдает сообщение об ошибке, если WebGL не включен. Похоже, вы пытаетесь предпринять другие действия, если это так (без поддержки 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, theeasiest чек использовать !!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 и ту же проблему с Google chrome, хром поддерживает webgl, но когда я меняю значение яркости/контраста, тогда изображение полностью черное. Вы знаете какой-либо другой плагин jquery для яркости/контрастности. Благодаря! – CuteBabyMannu