canvas.json 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520
  1. {
  2. "title":"Canvas (basic support)",
  3. "description":"Method of generating fast, dynamic graphics using JavaScript.",
  4. "spec":"https://html.spec.whatwg.org/multipage/scripting.html#the-canvas-element",
  5. "status":"ls",
  6. "links":[
  7. {
  8. "url":"https://developer.mozilla.org/en/Canvas_tutorial",
  9. "title":"Tutorial by Mozilla"
  10. },
  11. {
  12. "url":"http://glimr.rubyforge.org/cake/canvas.html",
  13. "title":"Animation kit"
  14. },
  15. {
  16. "url":"https://diveintohtml5.info/canvas.html",
  17. "title":"Another tutorial"
  18. },
  19. {
  20. "url":"https://github.com/arv/ExplorerCanvas",
  21. "title":"Implementation for Internet Explorer"
  22. },
  23. {
  24. "url":"https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#canvas",
  25. "title":"has.js test"
  26. },
  27. {
  28. "url":"https://skilled.co/html-canvas/",
  29. "title":"Canvas Tutorial & Cheat Sheet"
  30. },
  31. {
  32. "url":"https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API",
  33. "title":"MDN Web Docs - Canvas API"
  34. }
  35. ],
  36. "bugs":[
  37. {
  38. "description":"The Android browser does not support clipping on HTML5 canvas. See the bug filed here: https://issuetracker.google.com/issues/36934492"
  39. },
  40. {
  41. "description":"Older versions of iOS did not support video as a source for the canvas `drawImage()`, though it does appear to work as of iOS 8 [test case](https://jsfiddle.net/zL8KC/)"
  42. },
  43. {
  44. "description":"Limits of `toDataURL()` for iOS:\r\n- The maximum size for decoded GIF, PNG, and TIFF images is 3 megapixels for devices with less than 256 MB RAM and 5 megapixels for devices with greater or equal than 256 MB RAM.\r\n- The maximum size for a canvas element is 3 megapixels for devices with less than 256 MB RAM and 5 megapixels for devices with greater or equal than 256 MB RAM.\r\n- JavaScript execution time is limited to 10 seconds for each top-level entry point."
  45. },
  46. {
  47. "description":"In IE 11 `canvas.toDataURL()` does not work if the canvas has images with data URI sources [see bug](https://web.archive.org/web/20171004111538/https://connect.microsoft.com/IE/Feedback/Details/828416)"
  48. },
  49. {
  50. "description":"IE 10 canvas doesn't support `setLineDash` or `lineDashOffset` [see bug](https://social.msdn.microsoft.com/Forums/en-US/85007e72-90ad-4bd9-affd-9a24702219e6/canvasrenderingcontext2dsetlinedash-and-linedashoffset-missing?forum=winappswithhtml5) "
  51. },
  52. {
  53. "description":"IE and Edge does not support globalAlpha for drawImage of SVG graphics. [see bug](https://connect.microsoft.com/IE/feedback/details/1847897/globalalpha-ignored-when-drawing-svg-to-canvas) [see testcase](https://jsfiddle.net/p7b0wmcu/)"
  54. }
  55. ],
  56. "categories":[
  57. "Canvas",
  58. "HTML5"
  59. ],
  60. "stats":{
  61. "ie":{
  62. "5.5":"n",
  63. "6":"p",
  64. "7":"p",
  65. "8":"p",
  66. "9":"y",
  67. "10":"y",
  68. "11":"y"
  69. },
  70. "edge":{
  71. "12":"y",
  72. "13":"y",
  73. "14":"y",
  74. "15":"y",
  75. "16":"y",
  76. "17":"y",
  77. "18":"y",
  78. "79":"y",
  79. "80":"y",
  80. "81":"y",
  81. "83":"y",
  82. "84":"y",
  83. "85":"y",
  84. "86":"y",
  85. "87":"y",
  86. "88":"y",
  87. "89":"y",
  88. "90":"y",
  89. "91":"y",
  90. "92":"y",
  91. "93":"y",
  92. "94":"y",
  93. "95":"y",
  94. "96":"y",
  95. "97":"y",
  96. "98":"y",
  97. "99":"y"
  98. },
  99. "firefox":{
  100. "2":"a #1",
  101. "3":"a #1",
  102. "3.5":"a #1",
  103. "3.6":"y",
  104. "4":"y",
  105. "5":"y",
  106. "6":"y",
  107. "7":"y",
  108. "8":"y",
  109. "9":"y",
  110. "10":"y",
  111. "11":"y",
  112. "12":"y",
  113. "13":"y",
  114. "14":"y",
  115. "15":"y",
  116. "16":"y",
  117. "17":"y",
  118. "18":"y",
  119. "19":"y",
  120. "20":"y",
  121. "21":"y",
  122. "22":"y",
  123. "23":"y",
  124. "24":"y",
  125. "25":"y",
  126. "26":"y",
  127. "27":"y",
  128. "28":"y",
  129. "29":"y",
  130. "30":"y",
  131. "31":"y",
  132. "32":"y",
  133. "33":"y",
  134. "34":"y",
  135. "35":"y",
  136. "36":"y",
  137. "37":"y",
  138. "38":"y",
  139. "39":"y",
  140. "40":"y",
  141. "41":"y",
  142. "42":"y",
  143. "43":"y",
  144. "44":"y",
  145. "45":"y",
  146. "46":"y",
  147. "47":"y",
  148. "48":"y",
  149. "49":"y",
  150. "50":"y",
  151. "51":"y",
  152. "52":"y",
  153. "53":"y",
  154. "54":"y",
  155. "55":"y",
  156. "56":"y",
  157. "57":"y",
  158. "58":"y",
  159. "59":"y",
  160. "60":"y",
  161. "61":"y",
  162. "62":"y",
  163. "63":"y",
  164. "64":"y",
  165. "65":"y",
  166. "66":"y",
  167. "67":"y",
  168. "68":"y",
  169. "69":"y",
  170. "70":"y",
  171. "71":"y",
  172. "72":"y",
  173. "73":"y",
  174. "74":"y",
  175. "75":"y",
  176. "76":"y",
  177. "77":"y",
  178. "78":"y",
  179. "79":"y",
  180. "80":"y",
  181. "81":"y",
  182. "82":"y",
  183. "83":"y",
  184. "84":"y",
  185. "85":"y",
  186. "86":"y",
  187. "87":"y",
  188. "88":"y",
  189. "89":"y",
  190. "90":"y",
  191. "91":"y",
  192. "92":"y",
  193. "93":"y",
  194. "94":"y",
  195. "95":"y",
  196. "96":"y",
  197. "97":"y",
  198. "98":"y",
  199. "99":"y",
  200. "100":"y"
  201. },
  202. "chrome":{
  203. "4":"y",
  204. "5":"y",
  205. "6":"y",
  206. "7":"y",
  207. "8":"y",
  208. "9":"y",
  209. "10":"y",
  210. "11":"y",
  211. "12":"y",
  212. "13":"y",
  213. "14":"y",
  214. "15":"y",
  215. "16":"y",
  216. "17":"y",
  217. "18":"y",
  218. "19":"y",
  219. "20":"y",
  220. "21":"y",
  221. "22":"y",
  222. "23":"y",
  223. "24":"y",
  224. "25":"y",
  225. "26":"y",
  226. "27":"y",
  227. "28":"y",
  228. "29":"y",
  229. "30":"y",
  230. "31":"y",
  231. "32":"y",
  232. "33":"y",
  233. "34":"y",
  234. "35":"y",
  235. "36":"y",
  236. "37":"y",
  237. "38":"y",
  238. "39":"y",
  239. "40":"y",
  240. "41":"y",
  241. "42":"y",
  242. "43":"y",
  243. "44":"y",
  244. "45":"y",
  245. "46":"y",
  246. "47":"y",
  247. "48":"y",
  248. "49":"y",
  249. "50":"y",
  250. "51":"y",
  251. "52":"y",
  252. "53":"y",
  253. "54":"y",
  254. "55":"y",
  255. "56":"y",
  256. "57":"y",
  257. "58":"y",
  258. "59":"y",
  259. "60":"y",
  260. "61":"y",
  261. "62":"y",
  262. "63":"y",
  263. "64":"y",
  264. "65":"y",
  265. "66":"y",
  266. "67":"y",
  267. "68":"y",
  268. "69":"y",
  269. "70":"y",
  270. "71":"y",
  271. "72":"y",
  272. "73":"y",
  273. "74":"y",
  274. "75":"y",
  275. "76":"y",
  276. "77":"y",
  277. "78":"y",
  278. "79":"y",
  279. "80":"y",
  280. "81":"y",
  281. "83":"y",
  282. "84":"y",
  283. "85":"y",
  284. "86":"y",
  285. "87":"y",
  286. "88":"y",
  287. "89":"y",
  288. "90":"y",
  289. "91":"y",
  290. "92":"y",
  291. "93":"y",
  292. "94":"y",
  293. "95":"y",
  294. "96":"y",
  295. "97":"y",
  296. "98":"y",
  297. "99":"y",
  298. "100":"y",
  299. "101":"y",
  300. "102":"y",
  301. "103":"y"
  302. },
  303. "safari":{
  304. "3.1":"a #1",
  305. "3.2":"a #1",
  306. "4":"y",
  307. "5":"y",
  308. "5.1":"y",
  309. "6":"y",
  310. "6.1":"y",
  311. "7":"y",
  312. "7.1":"y",
  313. "8":"y",
  314. "9":"y",
  315. "9.1":"y",
  316. "10":"y",
  317. "10.1":"y",
  318. "11":"y",
  319. "11.1":"y",
  320. "12":"y",
  321. "12.1":"y",
  322. "13":"y",
  323. "13.1":"y",
  324. "14":"y",
  325. "14.1":"y",
  326. "15":"y",
  327. "15.1":"y",
  328. "15.2-15.3":"y",
  329. "15.4":"y",
  330. "TP":"y"
  331. },
  332. "opera":{
  333. "9":"y",
  334. "9.5-9.6":"y",
  335. "10.0-10.1":"y",
  336. "10.5":"y",
  337. "10.6":"y",
  338. "11":"y",
  339. "11.1":"y",
  340. "11.5":"y",
  341. "11.6":"y",
  342. "12":"y",
  343. "12.1":"y",
  344. "15":"y",
  345. "16":"y",
  346. "17":"y",
  347. "18":"y",
  348. "19":"y",
  349. "20":"y",
  350. "21":"y",
  351. "22":"y",
  352. "23":"y",
  353. "24":"y",
  354. "25":"y",
  355. "26":"y",
  356. "27":"y",
  357. "28":"y",
  358. "29":"y",
  359. "30":"y",
  360. "31":"y",
  361. "32":"y",
  362. "33":"y",
  363. "34":"y",
  364. "35":"y",
  365. "36":"y",
  366. "37":"y",
  367. "38":"y",
  368. "39":"y",
  369. "40":"y",
  370. "41":"y",
  371. "42":"y",
  372. "43":"y",
  373. "44":"y",
  374. "45":"y",
  375. "46":"y",
  376. "47":"y",
  377. "48":"y",
  378. "49":"y",
  379. "50":"y",
  380. "51":"y",
  381. "52":"y",
  382. "53":"y",
  383. "54":"y",
  384. "55":"y",
  385. "56":"y",
  386. "57":"y",
  387. "58":"y",
  388. "60":"y",
  389. "62":"y",
  390. "63":"y",
  391. "64":"y",
  392. "65":"y",
  393. "66":"y",
  394. "67":"y",
  395. "68":"y",
  396. "69":"y",
  397. "70":"y",
  398. "71":"y",
  399. "72":"y",
  400. "73":"y",
  401. "74":"y",
  402. "75":"y",
  403. "76":"y",
  404. "77":"y",
  405. "78":"y",
  406. "79":"y",
  407. "80":"y",
  408. "81":"y",
  409. "82":"y",
  410. "83":"y"
  411. },
  412. "ios_saf":{
  413. "3.2":"y",
  414. "4.0-4.1":"y",
  415. "4.2-4.3":"y",
  416. "5.0-5.1":"y",
  417. "6.0-6.1":"y",
  418. "7.0-7.1":"y",
  419. "8":"y",
  420. "8.1-8.4":"y",
  421. "9.0-9.2":"y",
  422. "9.3":"y",
  423. "10.0-10.2":"y",
  424. "10.3":"y",
  425. "11.0-11.2":"y",
  426. "11.3-11.4":"y",
  427. "12.0-12.1":"y",
  428. "12.2-12.5":"y",
  429. "13.0-13.1":"y",
  430. "13.2":"y",
  431. "13.3":"y",
  432. "13.4-13.7":"y",
  433. "14.0-14.4":"y",
  434. "14.5-14.8":"y",
  435. "15.0-15.1":"y",
  436. "15.2-15.3":"y",
  437. "15.4":"y"
  438. },
  439. "op_mini":{
  440. "all":"a #2"
  441. },
  442. "android":{
  443. "2.1":"a #1",
  444. "2.2":"a #1",
  445. "2.3":"a #1",
  446. "3":"y",
  447. "4":"y",
  448. "4.1":"y",
  449. "4.2-4.3":"y",
  450. "4.4":"y",
  451. "4.4.3-4.4.4":"y",
  452. "99":"y"
  453. },
  454. "bb":{
  455. "7":"y",
  456. "10":"y"
  457. },
  458. "op_mob":{
  459. "10":"y",
  460. "11":"y",
  461. "11.1":"y",
  462. "11.5":"y",
  463. "12":"y",
  464. "12.1":"y",
  465. "64":"y"
  466. },
  467. "and_chr":{
  468. "100":"y"
  469. },
  470. "and_ff":{
  471. "98":"y"
  472. },
  473. "ie_mob":{
  474. "10":"y",
  475. "11":"y"
  476. },
  477. "and_uc":{
  478. "12.12":"y"
  479. },
  480. "samsung":{
  481. "4":"y",
  482. "5.0-5.4":"y",
  483. "6.2-6.4":"y",
  484. "7.2-7.4":"y",
  485. "8.2":"y",
  486. "9.2":"y",
  487. "10.1":"y",
  488. "11.1-11.2":"y",
  489. "12.0":"y",
  490. "13.0":"y",
  491. "14.0":"y",
  492. "15.0":"y",
  493. "16.0":"y"
  494. },
  495. "and_qq":{
  496. "10.4":"y"
  497. },
  498. "baidu":{
  499. "7.12":"y"
  500. },
  501. "kaios":{
  502. "2.5":"y"
  503. }
  504. },
  505. "notes":"For screen readers, IE, Chrome & Firefox support the [accessible canvas element sub-DOM](http://www.paciellogroup.com/blog/2012/06/html5-canvas-accessibility-in-firefox-13/).\r\nFirefox & Chrome also support the drawfocus ring.",
  506. "notes_by_num":{
  507. "1":"Does not support `toDataURL()`",
  508. "2":"Opera Mini supports the canvas element, but is unable to play animations or run other more complex applications."
  509. },
  510. "usage_perc_y":96.84,
  511. "usage_perc_a":1.06,
  512. "ucprefix":false,
  513. "parent":"",
  514. "keywords":"canvas,toDataURL()",
  515. "ie_id":"canvas",
  516. "chrome_id":"5100084685438976",
  517. "firefox_id":"",
  518. "webkit_id":"",
  519. "shown":true
  520. }