/** * @author alteredq / http://alteredqualia.com/ * @author mr.doob / http://mrdoob.com/ */ var Detector = { canvas: !!window.CanvasRenderingContext2D, webgl: (function () { try { var canvas = document.createElement("canvas"); return !!( canvas.getContext("webgl") || canvas.getContext("experimental-webgl") ); } catch (e) { return false; } })(), workers: !!window.Worker, fileapi: window.File && window.FileReader && window.FileList && window.Blob, getWebGLErrorMessage: function () { var element = document.createElement("div"); element.id = "webgl-error-message"; element.style.fontFamily = "monospace"; element.style.fontSize = "13px"; element.style.fontWeight = "normal"; element.style.textAlign = "center"; element.style.background = "#fff"; element.style.color = "#000"; element.style.padding = "1.5em"; element.style.width = "400px"; element.style.margin = "5em auto 0"; if (!this.webgl) { element.innerHTML = window.WebGLRenderingContext ? [ 'Your graphics card does not seem to support WebGL.
', 'Find out how to get it here.', ].join("\n") : [ 'Your browser does not seem to support WebGL.
', 'Find out how to get it here.', ].join("\n"); } return element; }, addGetWebGLMessage: function (parameters) { var parent, elementID, element; parameters = parameters || {}; parent = parameters.id !== undefined ? document.getElementById(parameters.id) : document.body; elementID = parameters.elementID !== undefined ? parameters.elementID : "oldie"; element = Detector.getWebGLErrorMessage(); element.id = elementID; parent.appendChild(element); }, }; // browserify support if ( typeof module === 'object' ) { module.exports = Detector; }