我使用glfx.js jQuery插件,用於調整圖像的色相/飽和度,但大多數的瀏覽器不支持WebGL的自動啓用webGL?
是有沒有辦法自動啓用WebGL的瀏覽器,如果網站使用它?
我知道你需要在Safari中手動啓用它,並且有一個IE插件。
或者有什麼辦法可以讓我們在頁面加載時知道WebGl被禁用了嗎?
我使用glfx.js jQuery插件,用於調整圖像的色相/飽和度,但大多數的瀏覽器不支持WebGL的自動啓用webGL?
是有沒有辦法自動啓用WebGL的瀏覽器,如果網站使用它?
我知道你需要在Safari中手動啓用它,並且有一個IE插件。
或者有什麼辦法可以讓我們在頁面加載時知道WebGl被禁用了嗎?
沒有辦法在瀏覽器中自動啓用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;
}
謝謝,但你知道我使用亮度/對比度glfx.js所以它不被大多數瀏覽器的支持,甚至我使用的是Mozila 21.0,但它不支持webgl和Google Chrome的相同問題,Chrome支持webgl,但是當我更改亮度/對比度的值時,圖像完全是黑色。你知道任何其他的jquery插件的亮度/對比度。謝謝! – CuteBabyMannu