사실 Detector.js 플러그인의 코드는 매우 짧지만 모든 기능을 갖추고 있습니다.
(1) 캔버스 호환성을 결정합니다.
(2) webgl 호환성을 확인합니다.
(3) 페이지에 비호환성 프롬프트 정보를 추가합니다.
이 세 가지 기능만으로도 호환성 감지에 충분합니다.
이 글에서는 Three.js가 Detector.js 플러그인을 사용하여 호환성 감지를 구현하는 방법에 대한 관련 정보를 주로 소개합니다. 이 글은 샘플 코드를 통해 이를 매우 자세하게 소개하며 모든 사람의 연구 또는 학습에 도움이 됩니다. 필요해요 친구들, 함께 살펴볼까요? 그것이 모두에게 도움이 되기를 바랍니다.
사용 방법도 매우 간단합니다.
먼저 페이지에 플러그인을 소개합니다.
<script src="examples/js/Detector.js"></script>
그런 다음 js에 판단을 추가합니다.
if ( ! Detector.webgl ) Detector.addGetWebGLMessage();
호환성 감지가 매우 간단하게 구현됩니다. 바야.
아래에 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( 'p' ); 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 href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" rel="external nofollow" rel="external nofollow" style="color:#000">WebGL</a>.<br />', 'Find out how to get it <a href="http://get.webgl.org/" rel="external nofollow" rel="external nofollow" style="color:#000">here</a>.' ].join( '\n' ) : [ 'Your browser does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" rel="external nofollow" rel="external nofollow" style="color:#000">WebGL</a>.<br/>', 'Find out how to get it <a href="http://get.webgl.org/" 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; }
관련 권장 사항:
js에서 호환성 오류가 발생하기 쉬운 문제에 대한 요약
위 내용은 Detector.js 플러그인은 호환성 감지 코드를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!