1014:. In the canvas example above, the rectangle draw operation modifies the canvas, and its representation as a rectangle is forgotten by the system. If the rectangle's position were to be changed, the canvas would need to be redrawn, including any objects that might have been covered by the rectangle. In the equivalent SVG case, one could simply change the position attributes of the rectangle and the browser would determine how to repaint it. There are additional
924:
1087:(W3C)'s explicit favoring of royalty-free licenses. Apple later disclosed the patents under the W3C's royalty-free patent licensing terms. The disclosure means that Apple is required to provide royalty-free licensing for the patent whenever the Canvas element becomes part of a future W3C recommendation created by the HTML working group.
657:
wide and 300 pixels high, but the size of the drawing surface remains unchanged at the default value of 300 pixels Ă— 150 pixels. When a canvas element's size does not match the size of its drawing surface, the browser scales the drawing surface to fit the element (which may result in surprising and
1044:
Conceptually, canvas is a lower-level API upon which higher-level interfaces might be built (for example, SVG support). There are JavaScript libraries that provide partial SVG implementations using canvas for browsers that do not provide SVG but support canvas, such as the browsers in
Android 2.x.
645:
A canvas actually has two sizes: the size of the element itself and the size of the element's drawing surface. Setting the element's width and height attributes sets both of these sizes; CSS attributes affect only the element's size and not the drawing surface.
1078:
rights relative to WHATWG's Web
Applications 1.0 Working Draft, dated March 24, 2005, Section 10.1, entitled “Graphics: The bitmap canvas”, but left the door open to licensing the patents should the specification be transferred to a standards body with a
1053:
At the time of its introduction, the canvas element was met with mixed reactions from the web standards community. There have been arguments against Apple's decision to create a new proprietary element instead of supporting the
1018:
that abstract the canvas model to have svg-like scene capabilities within the canvas element. Multiple canvas layers can also be used, meaning that only specific layers need to be recreated when changes are required.
1045:
However, this is not normally the case—they are independent standards. The situation is complicated because there are scene graph libraries for canvas, and SVG has some bitmap manipulation functionality.
1118:. The privacy concerns regarding canvas fingerprinting center around the fact that even deleting cookies and clearing the cache will not be sufficient for users to avoid online tracking.
1610:
649:
By default, both the canvas element's size and the size of its drawing surface is 300 screen pixels wide and 150 screen pixels high. In the listing shown in the example, which uses
1407:
1605:
1083:. This caused considerable discussion among web developers and raised questions concerning the WHATWG's lack of a policy on patents in comparison to the
1514:
1317:
396:
1768:
1758:
141:
1464:
1438:
1232:
1750:
1654:
267:
1623:
438:
Interacting with the canvas involves obtaining the canvas' rendering context, which determines whether to use the canvas API,
1805:
1379:
1011:
1282:
971:
1491:
Acar, Gunes; Eubank, Christian; Englehardt, Steven; Juarez, Marc; Narayanan, Arvind; Diaz, Claudia (July 24, 2014).
953:
1735:
1257:
1074:
forwarded an email from Apple's Senior Patent
Counsel, Helene Plotka Workman, which stated that Apple reserved all
1007:. This means that if attributes of an SVG object are changed, the browser can automatically re-render the scene.
2279:
1720:
945:
1934:
1111:
949:
298:
1321:
2073:
1522:
443:
431:, thus allowing for dynamically generated graphics. Some anticipated uses of canvas include building graphs,
323:
272:
229:
168:
1544:
1800:
1647:
1366:
2289:
1954:
1810:
1790:
136:
1763:
2136:
1830:
1825:
2353:
2123:
2036:
1930:
1592:
1572:
1355:
1179:
1084:
427:
code may access the area through a full set of drawing functions similar to those of other common 2D
224:
1492:
1041:
of the mouse click with the coordinates of the drawn rectangle to determine whether it was clicked.
1715:
1055:
984:
934:
2014:
2358:
2156:
1640:
1562:
938:
1842:
1680:
1615:
1099:
126:
1102:
techniques for tracking online users that allow websites to identify and track visitors using
2078:
2031:
1961:
1730:
1095:
1075:
1000:
158:
2151:
2019:
1850:
1139:
1107:
1106:
canvas element. The technique received wide media coverage in 2014, after researchers from
384:
163:
80:
1490:
8:
2363:
2146:
1984:
1773:
1408:"You Are Being Tracked Online By A Sneaky New Technology -- Here's What You Need To Know"
1236:
1163:
1147:
392:
339:
1820:
1318:"[whatwg] Web Applications 1.0 Draft, David Hyatt, Wed Mar 14 14:31:53 PDT 2007"
19:
This article is about the HTML element. For the general element in user interfaces, see
2391:
2261:
2083:
1949:
1174:
1015:
377:
320:
291:
180:
1341:
2274:
1905:
1135:
1038:
1030:
1261:
2343:
2324:
2265:
2235:
2225:
1620:
1305:
1211:
1169:
388:
146:
987:
is an alternative approach to drawing shapes in browsers. Unlike canvas, which is
2348:
2319:
1778:
1627:
1127:
992:
988:
107:
48:
2396:
2141:
2113:
1518:
1151:
380:
251:
114:
1037:
event. To get the same functionality with canvas, one must manually match the
399:(WHATWG) on new proposed specifications for next generation web technologies.
2385:
2370:
2331:
2309:
2196:
2098:
2046:
1783:
1131:
284:
153:
119:
102:
2269:
1925:
1795:
1434:
1026:, and complex scenes can be created and maintained with XML editing tools.
661:
Example setting element size and drawing surface size to different values:
97:
92:
87:
38:
20:
1058:
standard. There are other concerns about syntax, such as the absence of a
695:
Canvas element size: 600 x 300, Canvas drawing surface size: 300 x 150
2166:
2103:
1997:
1975:
1921:
1671:
996:
246:
241:
131:
75:
2108:
2088:
2063:
2009:
2002:
1890:
1870:
1442:
1439:"Meet the Online Tracking Device That is Virtually Impossible to Block"
1306:
Ian
Hickson remarks regarding canvas and other Apple extensions to HTML
1071:
508:
424:
366:
190:
185:
63:
53:
494:
This text is displayed if your browser does not support HTML5 Canvas.
2131:
2093:
1885:
1740:
1185:
1143:
1059:
432:
354:
1465:"Stealthy Web tracking tools pose increasing privacy risks to users"
1380:"What You Need to Know About the Sneakiest New Online Tracking Tool"
923:
2314:
2171:
1939:
1900:
1895:
1875:
1865:
1860:
1493:"The Web never forgets: Persistent tracking mechanisms in the wild"
1469:
370:
1606:
Canvas description in WHATWG Web
Applications draft specifications
1586:
640:
2284:
2230:
2026:
1944:
1725:
1663:
1632:
1621:
Canvas tutorial and introductory page on
Mozilla Developer center
1384:
995:-based, so that each drawn shape is remembered as an object in a
653:
to set the canvas element's size, the size of the element is 600
1356:
HTML Working Group Patent Policy Status – Known
Disclosures
1033:
to be associated with objects, so a rectangle may respond to an
637:, for saving and restoring all the canvas context's attributes.
2241:
2181:
2176:
2055:
1855:
1708:
1698:
1693:
1412:
1080:
1004:
913:
373:
335:
331:
236:
212:
2209:
2204:
2186:
1992:
1703:
1190:
1103:
654:
454:
The following code creates a Canvas element in an HTML page:
439:
350:
327:
316:
217:
207:
202:
195:
70:
43:
2336:
1815:
1688:
412:
334:
images. It is a low level, procedural model that updates a
29:
387:
browser. Later, in 2005, it was adopted in version 1.8 of
2161:
1880:
1023:
650:
428:
346:
173:
1230:
1611:
Canvas reference page in Apple
Developers Connection
1126:
The element is supported by the current versions of
1065:
1616:Basic Canvas Tutorial on Opera Developer Community
397:Web Hypertext Application Technology Working Group
345:While the HTML5 canvas offers its own 2D drawing
2383:
1405:
1010:Canvas objects, on the other hand, are drawn in
1484:
641:Canvas element size versus drawing surface size
626:This code draws a red rectangle on the screen.
1367:W3C patent policy in use by HTML working group
376:component in 2004, powering applications like
1648:
1433:
292:
1462:
1377:
914:Canvas versus Scalable Vector Graphics (SVG)
1342:Web Applications 1.0 Early Working Draft -
952:. Unsourced material may be challenged and
1655:
1641:
299:
285:
1515:"SVG or Canvas? Сhoosing between the two"
1399:
1209:
972:Learn how and when to remove this message
411:consists of a drawable region defined in
2384:
1545:"Canvas, Microsoft Edge documentation"
1427:
1371:
1283:"Scalable Vector Graphics | CorelDRAW"
1003:, which is subsequently rendered to a
1636:
1512:
1456:
1070:On March 14, 2007, WebKit developer
950:adding citations to reliable sources
917:
338:. HTML5 Canvas also helps in making
1344:Dynamic graphics: The bitmap canvas
1090:
365:Canvas was initially introduced by
13:
1662:
1406:Joseph Steinberg (July 23, 2014).
1121:
14:
2408:
1555:
1066:Intellectual property over canvas
395:in 2006, and standardized by the
922:
435:, games, and image composition.
1537:
1506:
353:API to allow 3D rendering with
1463:Kirk, Jeremy (July 21, 2014).
1378:Knibbs, Kate (July 21, 2014).
1360:
1349:
1335:
1310:
1299:
1275:
1250:
1231:Mozilla Developer Connection.
1224:
1203:
1022:SVG images are represented in
511:, you can draw on the canvas:
1:
1196:
882:Canvas not supported
629:The Canvas API also provides
273:Comparison of browser engines
1114:described it in their paper
1048:
1029:The SVG scene graph enables
7:
1513:Sucan, Mihai (4 Feb 2010).
1157:
10:
2413:
449:
360:
18:
2302:
2254:
2218:
2195:
2122:
2054:
2045:
1983:
1974:
1914:
1841:
1749:
1679:
1670:
1180:Graphics Device Interface
1085:World Wide Web Consortium
268:Document markup languages
1210:Ian Hixie (2004-07-12).
663:
513:
456:
402:
319:and allows for dynamic,
349:, it also supports the
1588:HTML Canvas 2D Context
1100:browser fingerprinting
1098:is one of a number of
1258:"Opera 9.0 changelog"
1116:The Web never forgets
1096:Canvas fingerprinting
1076:intellectual property
1001:Document Object Model
666:<!DOCTYPE html>
369:for use in their own
159:Document Object Model
1112:KU Leuven University
1108:Princeton University
1081:formal patent policy
1016:JavaScript libraries
946:improve this section
164:Browser Object Model
1233:"HTMLCanvasElement"
1164:Anti-Grain Geometry
658:unwanted effects).
471:"example"
137:Character encodings
1950:Application server
1626:2012-08-03 at the
1175:Display PostScript
877:"canvas"
2379:
2378:
2298:
2297:
2275:Browser extension
2250:
2249:
1970:
1969:
1906:Phusion Passenger
1437:(July 21, 2014).
1287:www.coreldraw.com
1136:Internet Explorer
982:
981:
974:
537:'example'
309:
308:
2404:
2344:Web API security
2266:Remote scripting
2236:Web SQL Database
2052:
2051:
1981:
1980:
1677:
1676:
1657:
1650:
1643:
1634:
1633:
1602:
1601:
1600:
1582:
1581:
1580:
1567:
1549:
1548:
1541:
1535:
1534:
1532:
1530:
1521:. Archived from
1510:
1504:
1503:
1501:
1499:
1488:
1482:
1481:
1479:
1477:
1460:
1454:
1453:
1451:
1449:
1431:
1425:
1424:
1422:
1420:
1403:
1397:
1396:
1394:
1392:
1375:
1369:
1364:
1358:
1353:
1347:
1339:
1333:
1332:
1330:
1329:
1320:. Archived from
1314:
1308:
1303:
1297:
1296:
1294:
1293:
1279:
1273:
1272:
1270:
1269:
1260:. Archived from
1254:
1248:
1247:
1245:
1244:
1235:. Archived from
1228:
1222:
1221:
1219:
1218:
1212:"Extending HTML"
1207:
1170:Cairo (graphics)
1091:Privacy concerns
1036:
977:
970:
966:
963:
957:
926:
918:
909:
906:
903:
900:
897:
894:
891:
888:
885:
881:
878:
875:
872:
869:
866:
863:
860:
857:
854:
851:
848:
845:
842:
839:
836:
833:
830:
827:
824:
821:
818:
815:
812:
809:
806:
803:
800:
797:
794:
791:
788:
785:
782:
779:
776:
773:
770:
767:
764:
761:
758:
755:
752:
749:
746:
743:
740:
737:
734:
731:
728:
725:
722:
719:
716:
713:
710:
707:
704:
701:
698:
694:
691:
688:
685:
682:
679:
676:
673:
670:
667:
636:
632:
622:
619:
616:
613:
610:
607:
604:
601:
598:
595:
592:
589:
586:
583:
580:
577:
574:
571:
568:
565:
562:
559:
556:
553:
550:
547:
544:
541:
538:
535:
532:
529:
526:
523:
520:
517:
503:
500:
497:
493:
490:
487:
484:
481:
478:
475:
472:
469:
466:
463:
460:
410:
301:
294:
287:
252:Rendering engine
142:named characters
26:
25:
2412:
2411:
2407:
2406:
2405:
2403:
2402:
2401:
2382:
2381:
2380:
2375:
2349:Web application
2294:
2246:
2214:
2191:
2118:
2041:
1966:
1910:
1837:
1816:JavaScript JSGI
1796:ASP.NET Handler
1779:Jakarta Servlet
1745:
1666:
1661:
1628:Wayback Machine
1598:
1596:
1585:
1578:
1576:
1565:
1561:
1558:
1553:
1552:
1543:
1542:
1538:
1528:
1526:
1525:on 23 June 2010
1511:
1507:
1497:
1495:
1489:
1485:
1475:
1473:
1461:
1457:
1447:
1445:
1432:
1428:
1418:
1416:
1404:
1400:
1390:
1388:
1376:
1372:
1365:
1361:
1354:
1350:
1340:
1336:
1327:
1325:
1316:
1315:
1311:
1304:
1300:
1291:
1289:
1281:
1280:
1276:
1267:
1265:
1256:
1255:
1251:
1242:
1240:
1229:
1225:
1216:
1214:
1208:
1204:
1199:
1160:
1128:Mozilla Firefox
1124:
1122:Browser support
1093:
1068:
1051:
1034:
991:-based, SVG is
978:
967:
961:
958:
943:
927:
916:
911:
910:
907:
904:
901:
898:
895:
892:
889:
886:
883:
879:
876:
873:
870:
867:
864:
861:
858:
855:
852:
849:
846:
843:
840:
837:
834:
831:
828:
825:
822:
819:
816:
813:
810:
807:
804:
801:
798:
795:
792:
789:
786:
783:
780:
777:
774:
771:
768:
765:
762:
759:
756:
753:
750:
747:
744:
741:
738:
735:
732:
729:
726:
723:
720:
717:
714:
711:
708:
705:
702:
699:
696:
692:
689:
686:
683:
680:
677:
674:
671:
668:
665:
643:
634:
630:
624:
623:
620:
617:
614:
611:
608:
605:
602:
599:
596:
593:
590:
587:
584:
581:
578:
575:
572:
569:
566:
563:
560:
557:
554:
551:
548:
545:
542:
539:
536:
533:
530:
527:
524:
521:
518:
515:
505:
504:
501:
498:
495:
491:
489:"200"
488:
485:
482:
480:"200"
479:
476:
473:
470:
467:
464:
461:
458:
452:
408:
405:
363:
305:
24:
17:
12:
11:
5:
2410:
2400:
2399:
2394:
2377:
2376:
2374:
2373:
2368:
2367:
2366:
2361:
2356:
2346:
2341:
2340:
2339:
2329:
2328:
2327:
2322:
2312:
2306:
2304:
2300:
2299:
2296:
2295:
2293:
2292:
2287:
2282:
2277:
2272:
2258:
2256:
2252:
2251:
2248:
2247:
2245:
2244:
2239:
2238:(formerly W3C)
2233:
2228:
2222:
2220:
2216:
2215:
2213:
2212:
2207:
2201:
2199:
2193:
2192:
2190:
2189:
2184:
2179:
2174:
2169:
2164:
2159:
2154:
2149:
2144:
2139:
2134:
2128:
2126:
2120:
2119:
2117:
2116:
2114:XMLHttpRequest
2111:
2106:
2101:
2096:
2091:
2086:
2081:
2076:
2071:
2066:
2060:
2058:
2049:
2043:
2042:
2040:
2039:
2034:
2029:
2024:
2023:
2022:
2012:
2007:
2006:
2005:
2000:
1989:
1987:
1978:
1972:
1971:
1968:
1967:
1965:
1964:
1959:
1958:
1957:
1947:
1942:
1937:
1928:
1918:
1916:
1912:
1911:
1909:
1908:
1903:
1898:
1893:
1888:
1883:
1878:
1873:
1868:
1863:
1858:
1853:
1847:
1845:
1843:Apache modules
1839:
1838:
1836:
1835:
1834:
1833:
1823:
1818:
1813:
1808:
1803:
1798:
1793:
1788:
1787:
1786:
1776:
1771:
1766:
1761:
1755:
1753:
1747:
1746:
1744:
1743:
1738:
1733:
1728:
1723:
1718:
1713:
1712:
1711:
1706:
1701:
1696:
1685:
1683:
1674:
1668:
1667:
1664:Web interfaces
1660:
1659:
1652:
1645:
1637:
1631:
1630:
1618:
1613:
1608:
1603:
1583:
1557:
1556:External links
1554:
1551:
1550:
1536:
1519:Opera Software
1505:
1483:
1455:
1426:
1398:
1370:
1359:
1348:
1334:
1309:
1298:
1274:
1249:
1223:
1201:
1200:
1198:
1195:
1194:
1193:
1188:
1183:
1177:
1172:
1167:
1159:
1156:
1152:Microsoft Edge
1123:
1120:
1092:
1089:
1067:
1064:
1050:
1047:
1031:event handlers
1012:immediate mode
980:
979:
930:
928:
921:
915:
912:
664:
642:
639:
531:getElementById
514:
457:
451:
448:
404:
401:
391:browsers, and
362:
359:
313:canvas element
307:
306:
304:
303:
296:
289:
281:
278:
277:
276:
275:
270:
262:
261:
257:
256:
255:
254:
249:
244:
239:
234:
233:
232:
222:
221:
220:
215:
210:
200:
199:
198:
188:
183:
178:
177:
176:
166:
161:
156:
151:
150:
149:
144:
134:
129:
124:
123:
122:
115:HTML attribute
112:
111:
110:
105:
100:
95:
85:
84:
83:
81:Mobile Profile
78:
68:
67:
66:
61:
56:
51:
41:
33:
32:
15:
9:
6:
4:
3:
2:
2409:
2398:
2395:
2393:
2390:
2389:
2387:
2372:
2371:Web framework
2369:
2365:
2362:
2360:
2357:
2355:
2352:
2351:
2350:
2347:
2345:
2342:
2338:
2335:
2334:
2333:
2332:Web standards
2330:
2326:
2323:
2321:
2318:
2317:
2316:
2313:
2311:
2310:Microservices
2308:
2307:
2305:
2301:
2291:
2288:
2286:
2283:
2281:
2278:
2276:
2273:
2271:
2267:
2263:
2260:
2259:
2257:
2253:
2243:
2240:
2237:
2234:
2232:
2229:
2227:
2224:
2223:
2221:
2217:
2211:
2208:
2206:
2203:
2202:
2200:
2198:
2194:
2188:
2185:
2183:
2180:
2178:
2175:
2173:
2170:
2168:
2165:
2163:
2160:
2158:
2155:
2153:
2150:
2148:
2145:
2143:
2140:
2138:
2135:
2133:
2130:
2129:
2127:
2125:
2121:
2115:
2112:
2110:
2107:
2105:
2102:
2100:
2099:Web messaging
2097:
2095:
2092:
2090:
2087:
2085:
2082:
2080:
2077:
2075:
2072:
2070:
2067:
2065:
2062:
2061:
2059:
2057:
2053:
2050:
2048:
2044:
2038:
2035:
2033:
2030:
2028:
2025:
2021:
2018:
2017:
2016:
2013:
2011:
2008:
2004:
2001:
1999:
1996:
1995:
1994:
1991:
1990:
1988:
1986:
1982:
1979:
1977:
1973:
1963:
1960:
1956:
1953:
1952:
1951:
1948:
1946:
1943:
1941:
1938:
1936:
1932:
1929:
1927:
1923:
1920:
1919:
1917:
1913:
1907:
1904:
1902:
1899:
1897:
1894:
1892:
1889:
1887:
1884:
1882:
1879:
1877:
1874:
1872:
1869:
1867:
1864:
1862:
1859:
1857:
1854:
1852:
1849:
1848:
1846:
1844:
1840:
1832:
1829:
1828:
1827:
1824:
1822:
1819:
1817:
1814:
1812:
1809:
1807:
1804:
1802:
1799:
1797:
1794:
1792:
1789:
1785:
1782:
1781:
1780:
1777:
1775:
1772:
1770:
1767:
1765:
1762:
1760:
1757:
1756:
1754:
1752:
1748:
1742:
1739:
1737:
1734:
1732:
1729:
1727:
1724:
1722:
1719:
1717:
1714:
1710:
1707:
1705:
1702:
1700:
1697:
1695:
1692:
1691:
1690:
1687:
1686:
1684:
1682:
1678:
1675:
1673:
1669:
1665:
1658:
1653:
1651:
1646:
1644:
1639:
1638:
1635:
1629:
1625:
1622:
1619:
1617:
1614:
1612:
1609:
1607:
1604:
1594:
1590:
1589:
1584:
1574:
1570:
1569:
1560:
1559:
1546:
1540:
1524:
1520:
1516:
1509:
1494:
1487:
1472:
1471:
1466:
1459:
1444:
1440:
1436:
1435:Angwin, Julia
1430:
1415:
1414:
1409:
1402:
1387:
1386:
1381:
1374:
1368:
1363:
1357:
1352:
1346:
1345:
1338:
1324:on 2007-05-02
1323:
1319:
1313:
1307:
1302:
1288:
1284:
1278:
1264:on 2012-09-10
1263:
1259:
1253:
1239:on 2011-06-04
1238:
1234:
1227:
1213:
1206:
1202:
1192:
1189:
1187:
1184:
1181:
1178:
1176:
1173:
1171:
1168:
1165:
1162:
1161:
1155:
1153:
1149:
1145:
1141:
1137:
1133:
1132:Google Chrome
1129:
1119:
1117:
1113:
1109:
1105:
1101:
1097:
1088:
1086:
1082:
1077:
1073:
1063:
1061:
1057:
1046:
1042:
1040:
1032:
1027:
1025:
1020:
1017:
1013:
1008:
1006:
1002:
998:
994:
990:
986:
976:
973:
965:
955:
951:
947:
941:
940:
936:
931:This section
929:
925:
920:
919:
662:
659:
656:
652:
647:
638:
627:
582:'red'
512:
510:
455:
447:
445:
441:
436:
434:
430:
426:
422:
418:
414:
400:
398:
394:
390:
386:
382:
379:
375:
372:
368:
358:
356:
352:
348:
343:
341:
337:
333:
329:
325:
322:
318:
314:
302:
297:
295:
290:
288:
283:
282:
280:
279:
274:
271:
269:
266:
265:
264:
263:
259:
258:
253:
250:
248:
245:
243:
240:
238:
235:
231:
228:
227:
226:
223:
219:
216:
214:
211:
209:
206:
205:
204:
201:
197:
194:
193:
192:
189:
187:
184:
182:
179:
175:
172:
171:
170:
167:
165:
162:
160:
157:
155:
154:Language code
152:
148:
145:
143:
140:
139:
138:
135:
133:
130:
128:
125:
121:
120:alt attribute
118:
117:
116:
113:
109:
106:
104:
101:
99:
96:
94:
91:
90:
89:
86:
82:
79:
77:
74:
73:
72:
69:
65:
62:
60:
57:
55:
52:
50:
47:
46:
45:
42:
40:
37:
36:
35:
34:
31:
28:
27:
22:
2068:
1985:Browser APIs
1926:Web resource
1597:, retrieved
1595:, 2014-08-21
1587:
1577:, retrieved
1575:, 2014-10-28
1563:
1539:
1527:. Retrieved
1523:the original
1508:
1496:. Retrieved
1486:
1474:. Retrieved
1468:
1458:
1446:. Retrieved
1429:
1419:November 15,
1417:. Retrieved
1411:
1401:
1389:. Retrieved
1383:
1373:
1362:
1351:
1343:
1337:
1326:. Retrieved
1322:the original
1312:
1301:
1290:. Retrieved
1286:
1277:
1266:. Retrieved
1262:the original
1252:
1241:. Retrieved
1237:the original
1226:
1215:. Retrieved
1205:
1125:
1115:
1094:
1069:
1052:
1043:
1028:
1021:
1009:
983:
968:
962:October 2017
959:
944:Please help
932:
660:
648:
644:
628:
625:
564:'2d'
506:
453:
442:, or WebGL2
437:
423:attributes.
420:
416:
406:
364:
344:
312:
310:
169:Style sheets
98:div and span
88:HTML element
58:
39:Dynamic HTML
21:Canvas (GUI)
16:HTML element
2364:Progressive
2359:Single-page
2167:WebAssembly
2147:Geolocation
2104:Web storage
2010:C NPRuntime
1998:LiveConnect
1976:Client-side
1922:Web service
1851:mod_include
1806:Python ASGI
1801:Python WSGI
1751:Server APIs
1672:Server-side
1039:coordinates
997:scene graph
315:is part of
260:Comparisons
247:Web storage
242:Quirks mode
181:Font family
132:HTML editor
2386:Categories
2132:DOM events
2109:Web worker
2094:WebSockets
1955:comparison
1891:mod_python
1871:mod_parrot
1704:Encryption
1599:2015-01-09
1579:2015-01-09
1443:ProPublica
1328:2007-05-01
1292:2022-09-23
1268:2006-06-20
1243:2011-06-13
1217:2011-06-13
1197:References
1072:Dave Hyatt
775:background
721:background
558:getContext
509:JavaScript
433:animations
425:JavaScript
415:code with
321:scriptable
191:JavaScript
186:Web colors
127:HTML frame
2392:HTML tags
2290:Scripting
2152:IndexedDB
2003:XPConnect
1962:Scripting
1886:mod_proxy
1831:container
1821:Perl PSGI
1811:Ruby Rack
1784:container
1741:WebSocket
1681:Protocols
1186:Quartz 2D
1144:Konqueror
1060:namespace
1049:Reactions
933:does not
635:restore()
576:fillStyle
446:context.
444:rendering
378:Dashboard
355:OpenGL ES
328:2D shapes
324:rendering
230:Validator
2315:Web page
2172:WebAuthn
2047:Web APIs
1940:Open API
1901:mod_ruby
1896:mod_wsgi
1876:mod_perl
1866:mod_mono
1861:mod_lisp
1791:CLI OWIN
1624:Archived
1498:July 24,
1476:July 21,
1470:PC World
1448:July 21,
1391:July 21,
1158:See also
594:fillRect
525:document
383:and the
371:Mac OS X
340:2D games
2325:Dynamic
2285:Web IDL
2231:GraphQL
2197:Khronos
2027:ActiveX
2015:C PPAPI
1993:C NPAPI
1945:Webhook
1881:mod_php
1826:Portlet
1774:COM ASP
1769:C ISAPI
1764:C ASAPI
1759:C NSAPI
1568:element
1385:Gizmodo
1035:onClick
954:removed
939:sources
799:#aaaaaa
781:#ffffff
760:padding
727:#dddddd
588:context
570:context
552:example
546:context
519:example
450:Example
381:widgets
361:History
147:Unicode
108:marquee
49:article
2320:Static
2303:Topics
2280:Mashup
2255:Topics
2242:WebUSB
2219:Others
2182:WebRTC
2177:WebGPU
2069:Canvas
2056:WHATWG
1915:Topics
1856:mod_jk
1709:WebDAV
1566:canvas
1413:Forbes
1182:(GDI+)
1140:Safari
1005:bitmap
993:vector
989:raster
887:canvas
868:canvas
820:height
787:border
745:margin
739:canvas
655:pixels
631:save()
507:Using
499:canvas
483:height
462:canvas
417:height
409:canvas
385:Safari
374:WebKit
336:bitmap
332:bitmap
237:WHATWG
213:WebGPU
59:canvas
2397:HTML5
2270:DHTML
2226:Gears
2210:WebGL
2205:WebCL
2187:WebXR
2089:Video
2064:Audio
1529:3 May
1191:WebGL
1166:(AGG)
1148:Opera
1104:HTML5
902:</
893:</
884:</
847:</
841:style
838:</
805:width
796:inset
709:style
700:title
697:</
690:title
496:</
474:width
440:WebGL
421:width
403:Usage
393:Opera
389:Gecko
367:Apple
351:WebGL
317:HTML5
218:WebXR
208:WebGL
203:Web3D
196:WebCL
103:blink
76:Basic
71:XHTML
64:video
54:audio
44:HTML5
2354:Rich
2337:REST
2268:vs.
2264:and
2262:Ajax
2142:File
2074:CORS
2037:XBAP
2020:NaCl
1933:vs.
1924:vs.
1736:WSRP
1726:FCGI
1721:SCGI
1689:HTTP
1564:The
1531:2010
1500:2014
1478:2014
1450:2014
1421:2014
1393:2014
1150:and
1110:and
937:any
935:cite
908:>
905:html
899:>
896:body
890:>
880:>
865:<
862:>
859:body
856:<
853:>
850:head
844:>
793:thin
715:body
712:>
706:<
703:>
693:>
687:<
684:>
681:head
678:<
675:>
672:html
669:<
633:and
502:>
492:>
459:<
429:APIs
419:and
413:HTML
330:and
311:The
93:meta
30:HTML
2162:SVG
2157:MSE
2137:EME
2124:W3C
2084:SSE
2079:DOM
2032:BHO
1935:ROA
1931:WOA
1731:AJP
1716:CGI
1593:W3C
1573:W3C
1056:SVG
1024:XML
999:or
985:SVG
948:by
826:300
811:600
651:CSS
543:var
516:var
347:API
326:of
225:W3C
174:CSS
2388::
1699:v3
1694:v2
1591:,
1571:,
1517:.
1467:.
1441:.
1410:.
1382:.
1285:.
1154:.
1146:,
1142:,
1138:,
1134:,
1130:,
1062:.
871:id
829:px
814:px
769:px
766:20
754:px
751:20
621:);
618:50
612:50
606:30
600:30
567:);
540:);
465:id
407:A
357:.
342:.
1656:e
1649:t
1642:v
1547:.
1533:.
1502:.
1480:.
1452:.
1423:.
1395:.
1331:.
1295:.
1271:.
1246:.
1220:.
975:)
969:(
964:)
960:(
956:.
942:.
874:=
835:}
832:;
823::
817:;
808::
802:;
790::
784:;
778::
772:;
763::
757:;
748::
742:{
736:#
733:}
730:;
724::
718:{
615:,
609:,
603:,
597:(
591:.
585:;
579:=
573:.
561:(
555:.
549:=
534:(
528:.
522:=
486:=
477:=
468:=
300:e
293:t
286:v
23:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.