我最近開始在我正在開發的網站上使用WebGL。它被用作增強功能,如果WebGL不受支持或出現錯誤,該網站將回退到畫布渲染。壓制「Rats!WebGL遇到障礙」。 Google Chrome中的錯誤欄
不幸的是,當谷歌瀏覽器發生WebGL異常時,會出現一個錯誤消息欄。該欄不會消失,直到用戶與之交互爲止。如果他們重新加載或導航到不同的頁面,該消息將在下次網站嘗試使用WebGL時重新出現。
在我的網站的情況下,這意味着,因爲每個頁面嘗試使用WebGL的WebGL的錯誤信息永遠不會消失。一旦發生錯誤,Chrome將不會在同一網站上再次使用WebGL,直到用戶告知其重新加載,因此連續錯誤消息實際上並不表示連續錯誤,只是連續嘗試使用WebGL。
一旦WebGL的錯誤發生時,這個對話框可以在該網站上只運行重現:
document.createElement('canvas').getContext('experimental-webgl');
這不會引發任何異常,我.onerror
canvas元素的方法是不調用。
我還沒有能夠深入調查,因爲我無法可靠地重現WebGL錯誤。 (即使我能複製我的計算機上的一個,它可能不會在別人重複的。)
這種行爲是合理的,關於WebGL的依靠一個網站,但我沒有,所以消息只是讓用戶分心和困惑。
有什麼辦法可以壓制這個錯誤信息嗎?我不介意回到忽略發生錯誤時禁用WebGL的行爲。
僅供參考很多網站都有像SO職業或CNBC這樣的問題。它發生在我的三星s3上,但不是我的摩托RAZR maxx hd – Bob