2017-12-17 8 views
0
나는 다음과 같은 코드를 사용하여 다양한 방문자가 지원되는 WebGL이 어떤 상황보고 싶었던 호기심에서

는 :삭제 WebGL을 컨텍스트 WebGL을 컨텍스트를 테스트 한 후

var e = document.createElement('canvas'); 
var c = ['webgl','ms-webgl','experimental-webgl','moz-webgl']; 
for (var y = -1, len = c.length; ++y < len;) 
{ 
try {if (e.getContext(c[y])) {/*do-a-jig*/ break;}} catch(e) {} 
} 

불행하게도이 버그를 재현하기 매우 어려운 만들어 웹 개발자 콘솔에보고 됨 :

WebGL 경고 :이 주역의 라이브 WebGL 컨텍스트 16 개를 초과했습니다. 가장 최근에 사용하지 않은 웹 셀은 입니다.

문맥을 테스트 한 후 질문을 던지면이 오류가 발생하지 않도록 해당 문맥을 어떻게 삭제합니까?

+1

무엇이 문제'에 대한 (var에 Y = 0, y를

+1

'moz-webgl'과'ms-webgl'은 존재하지 않습니다. – gman

답변

0

당신은 같은 것을 시도 할 수 있습니다 : (안된를)

var e = document.createElement('canvas'); 
var c = ['webgl','ms-webgl','experimental-webgl','moz-webgl']; 

var found = ''; 
for (var y=0; y<c.length; y++) 
{ 
    try { 
     var ctx = e.getContext(c[y]); 
     if (ctx) { 
      found = c[y]; 
      ctx.getExtension('WEBGL_lose_context').loseContext(); 
      break; 
     } 

    } catch(e) { } 
}