Detector.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /**
  2. * @author alteredq / http://alteredqualia.com/
  3. */
  4. Detector = {
  5. // supported features
  6. canvas : !!window.CanvasRenderingContext2D,
  7. webgl : !!window.WebGLRenderingContext,
  8. workers : !!window.Worker,
  9. fileapi : window.File && window.FileReader && window.FileList && window.Blob,
  10. // helper methods
  11. addGetWebGLMessage: function( parameters ) {
  12. var parent = document.body,
  13. id = "oldie" ;
  14. if ( parameters ) {
  15. if ( parameters.parent !== undefined ) parent = parameters.parent;
  16. if ( parameters.id !== undefined ) id = parameters.id;
  17. }
  18. var html = [
  19. 'Sorry, your browser doesn\'t support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation">WebGL</a><br/>',
  20. '<br/>',
  21. 'Please try with',
  22. '<a href="http://www.google.com/chrome">Chrome 9+</a> /',
  23. '<a href="http://www.mozilla.com/en-US/firefox/all-beta.html">Firefox 4+</a> /',
  24. '<a href="http://nightly.webkit.org/">Safari 10.6+</a>'
  25. ].join("\n");
  26. var wrap = document.createElement( "center" ),
  27. message = document.createElement( "div" );
  28. message.innerHTML = html;
  29. message.id = id;
  30. var style = message.style;
  31. style.fontFamily = "monospace";
  32. style.fontSize = "13px";
  33. style.textAlign = "center";
  34. style.background = "#eee";
  35. style.color = "#000";
  36. style.padding = "1em";
  37. style.width = "475px";
  38. style.margin = "5em auto 0";
  39. wrap.appendChild( message )
  40. parent.appendChild( wrap );
  41. return message;
  42. }
  43. };