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