2013-05-20 65 views
1

我使用glfx.js jQuery插件,用於調整圖像的色相/飽和度,但大多數的瀏覽器不支持WebGL的自動啓用webGL?

是有沒有辦法自動啓用WebGL的瀏覽器,如果網站使用它?

我知道你需要在Safari中手動啓用它,並且有一個IE插件。

或者有什麼辦法可以讓我們在頁面加載時知道WebGl被禁用了嗎?

回答

3

沒有辦法在瀏覽器中自動啓用WebGL。它在瀏覽器供應商手中默認啓用 - Safari和IE是該領域的兩個後來者。 WebGL將進入IE11(source),我想可以預見,Safari的下一個版本將默認啓用它(自上一版以來已過去了一年)。

但是,您可以檢測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,theeasiest檢查是使用!!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; 
} 
+0

謝謝,但你知道我使用亮度/對比度glfx.js所以它不被大多數瀏覽器的支持,甚至我使用的是Mozila 21.0,但它不支持webgl和Google Chrome的相同問題,Chrome支持webgl,但是當我更改亮度/對比度的值時,圖像完全是黑色。你知道任何其他的jquery插件的亮度/對比度。謝謝! – CuteBabyMannu