画像の色相/彩度を調整するためにglfx.js jqueryプラグインを使用していますが、ほとんどのブラウザはWebGLをサポートしていません
ウェブサイトが使用している場合、ブラウザで webgl を自動的に有効にする方法はありますか?
Safari で手動で有効にする必要があることは知っていますが、IE 用のプラグインがあります。
または、ページの読み込み時に WebGl が無効になっていることを知る方法はありますか?
画像の色相/彩度を調整するためにglfx.js jqueryプラグインを使用していますが、ほとんどのブラウザはWebGLをサポートしていません
ウェブサイトが使用している場合、ブラウザで webgl を自動的に有効にする方法はありますか?
Safari で手動で有効にする必要があることは知っていますが、IE 用のプラグインがあります。
または、ページの読み込み時に WebGl が無効になっていることを知る方法はありますか?
ブラウザーで WebGL を自動的に有効にする方法はありません。デフォルトで有効にするかどうかは、ブラウザー ベンダーの手に委ねられています。Safari と IE は、この分野で後発の 2 つです。WebGL は IE11 ( source ) で登場します。Safari の次のリリースでは、デフォルトで WebGL がオンになると思います (前回のリリースから 1 年以上経過しています)。
ただし、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;
}