/** * @author alteredq / http://alteredqualia.com/ * @author mr.doob / http://mrdoob.com/ */ Detector = { canvas : !! window.CanvasRenderingContext2D, webgl : !! window.WebGLRenderingContext, webglGfxCard : ( 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 html; if ( ! this.webgl ) { html = [ 'Sorry, your browser doesn\'t support WebGL
', 'Please try with', 'Chrome 10, ', 'Firefox 4 or', 'Safari 6' ].join( '\n' ); } else if ( ! this.webglGfxCard ) { html = [ 'Sorry, your browser supports WebGL
but you may need to upgrade your graphics card.' ].join( '\n' ); } var msg = document.createElement( 'div' ); msg.style.fontFamily = 'monospace'; msg.style.fontSize = '13px'; msg.style.textAlign = 'center'; msg.style.background = '#eee'; msg.style.color = '#000'; msg.style.padding = '1em'; msg.style.width = '475px'; msg.style.margin = '5em auto 0'; msg.innerHTML = html; return msg; }, addGetWebGLMessage : function ( parameters ) { var parent, id, domElement; parameters = parameters || {}; parent = parameters.parent !== undefined ? parameters.parent : document.body; id = parameters.id !== undefined ? parameters.id : 'oldie'; domElement = Detector.getWebGLErrorMessage(); domElement.id = id; parent.appendChild( domElement ); } };