1

画像の色相/彩度を調整するためにglfx.js jqueryプラグインを使用していますが、ほとんどのブラウザはWebGLをサポートしていません

ウェブサイトが使用している場合、ブラウザで webgl を自動的に有効にする方法はありますか?

Safari で手動で有効にする必要があることは知っていますが、IE 用のプラグインがあります。

または、ページの読み込み時に WebGl が無効になっていることを知る方法はありますか?

4

1 に答える 1

3

ブラウザーで 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;
}
于 2013-05-26T11:19:19.927 に答える