Three.js利用Detector.js插件如何實(shí)現(xiàn)兼容性檢測(cè)詳解
前言
本文主要給大家介紹了關(guān)于Three.js用Detector.js插件實(shí)現(xiàn)兼容性檢測(cè)的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧。
其實(shí)Detector.js插件的代碼很短,但是功能很全,
(1)判斷canvas兼容。
(2)判斷webgl兼容性。
(3)在頁面添加不兼容提示信息。
這三個(gè)功能已經(jīng)對(duì)兼容性檢測(cè)足夠了。
使用方式也很簡(jiǎn)單:
首先,將插件引入到頁面:
<script src="examples/js/Detector.js"></script>
然后,在js里面添加一個(gè)判斷:
if ( ! Detector.webgl ) Detector.addGetWebGLMessage();
就實(shí)現(xiàn)了兼容性的檢測(cè),是不是很簡(jiǎn)單,去測(cè)試一下吧。
下面,附上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)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- Three.js基礎(chǔ)學(xué)習(xí)之場(chǎng)景對(duì)象
- Three.js實(shí)現(xiàn)瀏覽器變動(dòng)時(shí)進(jìn)行自適應(yīng)的方法
- Three.js利用dat.GUI如何簡(jiǎn)化試驗(yàn)流程詳解
- 利用Three.js如何實(shí)現(xiàn)陰影效果實(shí)例代碼
- Three.js實(shí)現(xiàn)繪制字體模型示例代碼
- Three.js利用orbit controls插件(軌道控制)控制模型交互動(dòng)作詳解
- Three.js利用性能插件stats實(shí)現(xiàn)性能監(jiān)聽的方法
- Three.js如何用軌跡球插件(trackball)增加對(duì)模型的交互功能詳解
- Three.js入門之hello world以及如何繪制線
- Three.js如何實(shí)現(xiàn)霧化效果示例代碼
相關(guān)文章
JavaScript時(shí)間戳與時(shí)間日期間相互轉(zhuǎn)換
今天做項(xiàng)目遇到這樣的問題,要將獲取到的時(shí)間轉(zhuǎn)換為時(shí)間戳,通過查閱相關(guān)資料,問題順利解決,下面小編把具體實(shí)現(xiàn)代碼分享到腳本之家平臺(tái),需要的朋友參考下2017-12-12
關(guān)于Aptana Studio生成自動(dòng)備份文件的解決辦法
關(guān)于Aptana Studio生成自動(dòng)備份文件的解決辦法2009-12-12
JS獲取計(jì)算機(jī)mac地址以及IP的實(shí)現(xiàn)方法
本篇文章主要是對(duì)利用JS獲取計(jì)算機(jī)mac地址以及IP的實(shí)現(xiàn)方法進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-01-01
JavaScript數(shù)據(jù)結(jié)構(gòu)與算法
這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)與算法,文章圍繞主題展開數(shù)據(jù)結(jié)構(gòu)與算法的概念,以及幾種常見的數(shù)據(jù)結(jié)構(gòu)是什么,有什么優(yōu)點(diǎn)和缺,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07
推薦js實(shí)現(xiàn)商品分類到搜索欄友好提示(人機(jī)交互)
推薦js實(shí)現(xiàn)商品分類到搜索欄友好提示(人機(jī)交互)...2007-05-05
學(xué)習(xí)JavaScript設(shè)計(jì)模式之享元模式
這篇文章主要為大家介紹了JavaScript設(shè)計(jì)模式中的享元模式,對(duì)JavaScript設(shè)計(jì)模式感興趣的小伙伴們可以參考一下2016-01-01
利用Print.js實(shí)現(xiàn)打印pdf、HTML及圖片(可設(shè)置樣式可分頁)
在我們需要在頁面中打印某個(gè)區(qū)域的內(nèi)容或者生成pdf的時(shí)候,我們可以直接用printJs庫,這篇文章主要給大家介紹了關(guān)于利用Print.js實(shí)現(xiàn)打印pdf、HTML及圖片的相關(guān)資料,可設(shè)置樣式可分頁,需要的朋友可以參考下2024-05-05
關(guān)于JavaScript中的數(shù)組方法和循環(huán)
這篇文章主要介紹了關(guān)于JavaScript中的數(shù)組方法和循環(huán),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09

