diff options
| author | yo mama <pepper@scannerjammer.com> | 2015-02-12 18:29:27 -0800 |
|---|---|---|
| committer | yo mama <pepper@scannerjammer.com> | 2015-02-12 18:29:27 -0800 |
| commit | ae0e6d987781d2fbf225611e2f8df37380a2bbcd (patch) | |
| tree | 0c19a2a320588c7852bc8cdbff5da40624475b71 /js/Detector.js | |
first
Diffstat (limited to 'js/Detector.js')
| -rw-r--r-- | js/Detector.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/js/Detector.js b/js/Detector.js new file mode 100644 index 0000000..0c0c632 --- /dev/null +++ b/js/Detector.js @@ -0,0 +1,52 @@ +Detector = { + + canvas : !! window.CanvasRenderingContext2D, + webgl : ( function () { try { return !! window.WebGLRenderingContext && !! document.createElement( 'canvas' ).getContext( 'experimental-webgl' ); } catch( e ) { return false; } } )(), + workers : !! window.Worker, + fileapi : window.File && window.FileReader && window.FileList && window.Blob, + + getWebGLErrorMessage : function () { + + var domElement = document.createElement( 'div' ); + + domElement.style.fontFamily = 'monospace'; + domElement.style.fontSize = '13px'; + domElement.style.textAlign = 'center'; + domElement.style.background = '#eee'; + domElement.style.color = '#000'; + domElement.style.width = '100%'; + domElement.style.height = '50px'; + + if ( ! this.webgl ) { + + domElement.innerHTML = window.WebGLRenderingContext ? [ + 'Your graphics card does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation">WebGL</a>.<br />', + 'Find out how to get it <a href="http://get.webgl.org/">here</a>.' + ].join( '\n' ) : [ + 'Your browser does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation">WebGL</a>.<br/>', + 'Find out how to get it <a href="http://get.webgl.org/">here</a>.' + ].join( '\n' ); + + } + + return domElement; + + }, + + addGetWebGLMessage : function ( parameters ) { + + var parent, id, domElement; + + parameters = parameters || {}; + + parent = parameters.parent !== undefined ? parameters.parent : document.body; + id = parameters.id !== undefined ? parameters.id : 'container'; + + domElement = Detector.getWebGLErrorMessage(); + domElement.id = id; + + parent.appendChild( domElement ); + + } + +}; |
