todataurl.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. /*!
  2. {
  3. "name": "canvas.toDataURL type support",
  4. "property": ["todataurljpeg", "todataurlpng", "todataurlwebp"],
  5. "tags": ["canvas"],
  6. "builderAliases": ["canvas_todataurl_type"],
  7. "notes": [{
  8. "name": "MDN Docs",
  9. "href": "https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement.toDataURL"
  10. }]
  11. }
  12. !*/
  13. define(['Modernizr', 'createElement', 'test/canvas'], function(Modernizr, createElement) {
  14. var canvas = createElement('canvas');
  15. Modernizr.addTest('todataurljpeg', function() {
  16. return !!Modernizr.canvas && canvas.toDataURL('image/jpeg').indexOf('data:image/jpeg') === 0;
  17. });
  18. Modernizr.addTest('todataurlpng', function() {
  19. return !!Modernizr.canvas && canvas.toDataURL('image/png').indexOf('data:image/png') === 0;
  20. });
  21. Modernizr.addTest('todataurlwebp', function() {
  22. var supports = false;
  23. // firefox 3 throws an error when you use an "invalid" toDataUrl
  24. try {
  25. supports = !!Modernizr.canvas && canvas.toDataURL('image/webp').indexOf('data:image/webp') === 0;
  26. } catch (e) {}
  27. return supports;
  28. });
  29. });