2017-03-16 5 views
0

昨年、Webサイトで手話のプラグインにコードを実装しましたが、今では新しいウェブサイトに実装する必要がありますが、スクリプトは更新されており、新しいバージョンはWEB GL 2.0では、このアップデートがWEB GL 1.0を使用する前に、このスクリプトをすべてのシステムで動作させ、古いバージョン(WEB GL 1.0)に戻す方法を教えてください。強制Web GLバージョン2.0から1.0へ

1 - 私はこのプラグインがすべてのシステムとコンピュータで再び動作する必要があります、おそらく私は最も古いバージョンに戻る必要があります。私はそれがビデオカードの非互換性、DirectXのバージョン、またはWebGL 2.0の正しい操作を妨げるブラウザの問題であると想像します。例: 2 - 2つのコードのバージョン古く、新下記参照:

<!-- Oldest Version --> 
 
<script type="text/javascript"> 
 
    var _hta = {'_setToken': '1cb6fd2fd91d70f82b0eb23452sdg5235','_htException': 'HandTalk_EXCECAO'}; 
 
    (function() { 
 
    var ht = document.createElement('script'); ht.type = 'text/javascript'; ht.async = true; 
 
    ht.src = '//api.handtalk.me/handtalk_init.js'; 
 
    var s = document.getElementsByTagName('script')[0]; 
 
    s.parentNode.appendChild(ht); 
 
    })(); 
 
    (function(proxied) { 
 
    window.alert = function() { 
 
    return proxied.apply(this, arguments); 
 
    }; 
 
    })(window.alert); 
 
</script> 
 

 
<!-- New Version --> 
 
<script src="//api.handtalk.me/plugin/latest/handtalk.min.js"></script> 
 
<script> 
 
    var ht = new HT({ 
 
    token: "1cb6fd2fd91d70f82b0eb23452sdg5235" 
 
    }); 
 
</script>

答えて

0

のWebGLは、自動的に「WebGLの」要求バージョン1を使用するにはバージョン2を使用していません。

const gl = someCanvas.getContext("webgl"); 

バージョン2を使用するには、あなたが要求し、WebGL2を使用しているがやっていることを起こるいくつかのサードパーティのライブラリを持っている場合は、バージョン「webgl2」

const gl = someCanvas.getContext("webgl2"); 

を要求し、よくそれは、JavaScriptのだ最初のを離れそうWebGL2を要求しないようにライブラリを編集するだけかもしれません。そうでない場合、WebGL1を強制的に使用させたい場合は、getContextをこのようにラップして、「webgl2」が要求された場合は失敗します。

<!-- must appear before including the 3rd party script --> 
<script> 
HTMLCanvasElement.prototype.getContext = (function(oldFn) { 
    return function(type) { 
    if (type === "webgl2") { 
     return null; 
    } 
    return oldFn.apply(this, arguments); 
    }; 
}(HTMLCanvasElement.prototype.getContext)); 
</script> 
<script src="some3rdPartyScriptThatUsesWebGL2ButCanFallbackToWebGL1.js"></script> 
関連する問題