Three.js利用Detector.js插件如何實現(xiàn)兼容性檢測詳解
前言
本文主要給大家介紹了關(guān)于Three.js用Detector.js插件實現(xiàn)兼容性檢測的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細的介紹吧。
其實Detector.js插件的代碼很短,但是功能很全,
(1)判斷canvas兼容。
(2)判斷webgl兼容性。
(3)在頁面添加不兼容提示信息。
這三個功能已經(jīng)對兼容性檢測足夠了。
使用方式也很簡單:
首先,將插件引入到頁面:
<script src="examples/js/Detector.js"></script>
然后,在js里面添加一個判斷:
if ( ! Detector.webgl ) Detector.addGetWebGLMessage();
就實現(xiàn)了兼容性的檢測,是不是很簡單,去測試一下吧。
下面,附上Detector.js插件代碼:
/** * @author alteredq / http://alteredqualia.com/ * @author mr.doob / http://mrdoob.com/ */ var Detector = { canvas: !! window.CanvasRenderingContext2D, webgl: ( function () { try { var canvas = document.createElement( 'canvas' ); return !! ( window.WebGLRenderingContext && ( canvas.getContext( 'webgl' ) || canvas.getContext( 'experimental-webgl' ) ) ); } catch ( e ) { return false; } } )(), workers: !! window.Worker, fileapi: window.File && window.FileReader && window.FileList && window.Blob, getWebGLErrorMessage: function () { var element = document.createElement( 'div' ); element.id = 'webgl-error-message'; element.style.fontFamily = 'monospace'; element.style.fontSize = '13px'; element.style.fontWeight = 'normal'; element.style.textAlign = 'center'; element.style.background = '#fff'; element.style.color = '#000'; element.style.padding = '1.5em'; element.style.width = '400px'; element.style.margin = '5em auto 0'; if ( ! this.webgl ) { element.innerHTML = window.WebGLRenderingContext ? [ 'Your graphics card does not seem to support <a rel="external nofollow" rel="external nofollow" style="color:#000">WebGL</a>.<br />', 'Find out how to get it <a rel="external nofollow" rel="external nofollow" style="color:#000">here</a>.' ].join( '\n' ) : [ 'Your browser does not seem to support <a rel="external nofollow" rel="external nofollow" style="color:#000">WebGL</a>.<br/>', 'Find out how to get it <a rel="external nofollow" rel="external nofollow" style="color:#000">here</a>.' ].join( '\n' ); } return element; }, addGetWebGLMessage: function ( parameters ) { var parent, id, element; parameters = parameters || {}; parent = parameters.parent !== undefined ? parameters.parent : document.body; id = parameters.id !== undefined ? parameters.id : 'oldie'; element = Detector.getWebGLErrorMessage(); element.id = id; parent.appendChild( element ); } }; // browserify support if ( typeof module === 'object' ) { module.exports = Detector; }
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
- Three.js基礎(chǔ)學(xué)習(xí)之場景對象
- Three.js實現(xiàn)瀏覽器變動時進行自適應(yīng)的方法
- Three.js利用dat.GUI如何簡化試驗流程詳解
- 利用Three.js如何實現(xiàn)陰影效果實例代碼
- Three.js實現(xiàn)繪制字體模型示例代碼
- Three.js利用orbit controls插件(軌道控制)控制模型交互動作詳解
- Three.js利用性能插件stats實現(xiàn)性能監(jiān)聽的方法
- Three.js如何用軌跡球插件(trackball)增加對模型的交互功能詳解
- Three.js入門之hello world以及如何繪制線
- Three.js如何實現(xiàn)霧化效果示例代碼
相關(guān)文章
Layui實現(xiàn)主窗口和Iframe層參數(shù)傳遞
今天小編就為大家分享一篇Layui實現(xiàn)主窗口和Iframe層參數(shù)傳遞,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11JavaScript實現(xiàn)計算圓周率到小數(shù)點后100位的方法示例
這篇文章主要介紹了JavaScript實現(xiàn)計算圓周率到小數(shù)點后100位的方法,簡單分析了圓周率計算的原理并結(jié)合實例形式給出了javascript計算圓周率的具體操作技巧,需要的朋友可以參考下2018-05-05JavaScript中對象property的讀取和寫入方法介紹
這篇文章主要介紹了JavaScript中對象property的讀取和寫入方法介紹,本文講解了原型繼承鏈中property的讀取、原型繼承鏈中property的寫入等內(nèi)容,需要的朋友可以參考下2014-12-12JS實現(xiàn)提交表單前的數(shù)字及郵箱校檢功能
在項目開發(fā)中經(jīng)常會遇到表單提交功能,今天小編抽空給大家分享JS實現(xiàn)提交表單前的數(shù)字及郵箱校檢功能,需要的朋友參考下吧2017-11-11