Advertisement
Guest User

Detector.js

a guest
Mar 24th, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  * @author alteredq / http://alteredqualia.com/
  3.  * @author mr.doob / http://mrdoob.com/
  4.  */
  5.  
  6. var Detector = {
  7.  
  8.     canvas: !! window.CanvasRenderingContext2D,
  9.     webgl: ( function () {
  10.  
  11.         try {
  12.  
  13.             var canvas = document.createElement( 'canvas' ); return !! ( window.WebGLRenderingContext && ( canvas.getContext( 'webgl' ) || canvas.getContext( 'experimental-webgl' ) ) );
  14.  
  15.         } catch ( e ) {
  16.  
  17.             return false;
  18.  
  19.         }
  20.  
  21.     } )(),
  22.     workers: !! window.Worker,
  23.     fileapi: window.File && window.FileReader && window.FileList && window.Blob,
  24.  
  25.     getWebGLErrorMessage: function () {
  26.  
  27.         var element = document.createElement( 'div' );
  28.         element.id = 'webgl-error-message';
  29.         element.style.fontFamily = 'monospace';
  30.         element.style.fontSize = '13px';
  31.         element.style.fontWeight = 'normal';
  32.         element.style.textAlign = 'center';
  33.         element.style.background = '#fff';
  34.         element.style.color = '#000';
  35.         element.style.padding = '1.5em';
  36.         element.style.width = '400px';
  37.         element.style.margin = '5em auto 0';
  38.  
  39.         if ( ! this.webgl ) {
  40.  
  41.             element.innerHTML = window.WebGLRenderingContext ? [
  42.                 'Your graphics card does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">WebGL</a>.<br />',
  43.                 'Find out how to get it <a href="http://get.webgl.org/" style="color:#000">here</a>.'
  44.             ].join( '\n' ) : [
  45.                 'Your browser does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">WebGL</a>.<br/>',
  46.                 'Find out how to get it <a href="http://get.webgl.org/" style="color:#000">here</a>.'
  47.             ].join( '\n' );
  48.  
  49.         }
  50.  
  51.         return element;
  52.  
  53.     },
  54.  
  55.     addGetWebGLMessage: function ( parameters ) {
  56.  
  57.         var parent, id, element;
  58.  
  59.         parameters = parameters || {};
  60.  
  61.         parent = parameters.parent !== undefined ? parameters.parent : document.body;
  62.         id = parameters.id !== undefined ? parameters.id : 'oldie';
  63.  
  64.         element = Detector.getWebGLErrorMessage();
  65.         element.id = id;
  66.  
  67.         parent.appendChild( element );
  68.  
  69.     }
  70.  
  71. };
  72.  
  73. // browserify support
  74. if ( typeof module === 'object' ) {
  75.  
  76.     module.exports = Detector;
  77.  
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement