summaryrefslogtreecommitdiff
path: root/js/Detector.js
diff options
context:
space:
mode:
authoryo mama <pepper@scannerjammer.com>2015-02-12 18:29:27 -0800
committeryo mama <pepper@scannerjammer.com>2015-02-12 18:29:27 -0800
commitae0e6d987781d2fbf225611e2f8df37380a2bbcd (patch)
tree0c19a2a320588c7852bc8cdbff5da40624475b71 /js/Detector.js
first
Diffstat (limited to 'js/Detector.js')
-rw-r--r--js/Detector.js52
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 );
+
+ }
+
+};