HTML5-udvikling: Sådan fungerer canvas-tag'et

En serie artikler giver dig overblikket over, hvordan HTML5 fungerer i browserne Chrome, Firefox, Internet Explorer, Opera og Safari. Her handler det om canvas-tag'et.

Artikel top billede

Læs også:

Her er de vigtigste funktioner i det nye HTML5

Sådan fungerer video og lyd

Sådan fungerer SVG

Sådan fungerer WebGL

Der er nok ikke noget større brud på konventionerne i HTML5 end opfindelsen af canvas-tag'et, som bruges til at reservere en rektangulær plads, hvor JavaScript-kode kan manipulere individuelle pixels.

I den oprindelige vision var HTML et markup-lag kun for dataene. Browseren var ansvarlig for at afgøre, hvordan dataene bedst muligt blev vist.

Og scalable vector graphics, som nu ofte anses for at være en del af HTML5, var den eneste rigtige måde at tegne linjer på ved at placere informationen i en endeløs strøm af tags.

Men, ak, designere tænker ikke som computerprogrammører, og de forstår ikke idéen om at adskillige datalaget fra præsentationslaget. Når designere placerer et bogstav eller en form et sted, så vil de have, at den bliver på plads - ellers er designets harmoni ødelagt for evigt.

Løsningen er canvas-elementet. Det er en idé, der kommer fra Apple, som inkorporerede canvas i sit WebKit-projekt. Derfra blev det kopieret af alle undtagen Microsoft. Til sidst overgav også Microsoft sig og tilføjede elementet i Internet Explorer 9, men kun efter at have indset, at alle brugte et frit tilgængeligt oversættelsesværktøj, der overførte alle metoderne fra canvas-elementet til deres egne versioner.

Selvom Microsoft har taget standard-versionen til sig, er der stadig forskelle i resultaterne. Philip Taylor har bygget et meget udførligt sæt test af canvas-objektet, der gennemgår alle de forskellige måder, JavaScript kan påføre farve.

Mange af de mest almindelige rutiner - såsom tegningen af en linje - implementeres nu på mere eller mindre samme måde i alle browsere.

Der er dog forsat overraskende mange områder, hvor browserne ikke producerer de samme resultater fra den samme kode. Mange af rutinerne for rendering af tekst og gradienter opfører sig ret forskelligt eller crasher simpelthen.

Sådan fungerer canvas-tag'et

For at teste canvas-tag'et har jeg bygget et sæt svævende, animerede links ved hjælp af et jQuery-plugin skrevet af Graham Breach.

Koden leder efter et sæt links i din HTML og begynder derefter at tegne dem ind i en sky, der roterer som reaktion på musemarkørens placering. Denne test illustrerer lidt af, hvad der kan opnås med canvas-elementet.

Koden fungerer ikke i IE8 og tidligere versioner af Internet Explorer, som ikke understøtter canvas direkte, men den vil fungere, hvis man bruger et tyndt oversættelseslag ved navn ExplorerCanvas. Denne kode vil lave kald til canvas om til kode, der kan fortolkes af tidligere browsere, navnlig en teknologi som Microsoft kalder vector markup language (VML).

Dette oversættelseslag vil være nødvendigt for enhver, der har brug for at understøtte ældre, men stadig meget udbredte versioner af IE.

Indbygget understøttelse af canvas i aktuelle browsere:

Apple Safari 5.0: Ja
Google Chrome 8.0: Ja
Microsoft IE 8.0/9.0: Nej/Ja
Mozilla Firefox 3.6: Ja
Opera 10.60: Ja

Læs også:

Her er de vigtigste funktioner i det nye HTML5

Sådan fungerer video og lyd

Sådan fungerer SVG

Sådan fungerer WebGL

Læses lige nu
    Computerworld Events

    Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

    Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
    Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
    Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
    Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

    Sikkerhed | Højbjerg, Aarhus

    Cyber Security Summit 2026 - Aarhus

    Lær om organisationers evne til at modstå, håndtere og komme videre efter alvorlige digitale hændelser, herunder ledelsesansvar, forretningskritiske afhængigheder og de valg, der afgør, om plan B holder, når systemer eller leverandører svigter.

    Digital transformation | Aarhus

    AI i det offentlige - Aarhus

    Hør hvordan offentlige AI-løsninger skaleres til stabil drift med reel effekt. Få erfaringer, arkitekturvalg og styringsgreb fra frontløbere. Lær at bygge fælles AI-infrastruktur med ansvarlighed, sikkerhed og compliance.

    Digital transformation | Køge

    Derfor skal du videre fra Dynamics AX – og sådan gør du

    Computerworld giver klar viden om vejen videre fra Dynamics AX. Du ser forskellen mellem AX og moderne cloud-ERP og får et konkret beslutningsgrundlag for næste skridt. Tilmeld dig og få styr på skiftet til Dynamics 365 FO eller BC.

    Se alle vores events inden for it

    Octocube Games ApS

    CIFI Developer

    Region Sjælland

    NOVAX A/S

    Developer

    Midtjylland

    Netcompany A/S

    IT Consultant

    Midtjylland

    Navnenyt fra it-Danmark

    Steen Marquard,  Jabra, er pr. 15. juni 2026 udnævnt som Regional President for Norden og UK. Han er uddannet HD(O). Han beskæftiger sig med I sin nye rolle får Steen ansvar for at videreudvikle salget af virksomhedens professionelle lyd- og videoløsninger, samt styrke samarbejdet med channel teams og partnere på tværs af regionen. Udnævnelse
    Netip A/S har pr. 1. maj 2026 ansat Michael Schou som Operations Manager ved netIP Aalborg og Aarhus. Han kommer fra en stilling som Senior Director - Head of IT hos BDO. Han har tidligere beskæftiget sig med flere områder indenfor IT-branchen, hvor han bla. også har drevet sin egen IT-virksomhed. Nyt job

    Michael Schou

    Netip A/S

    Renewtech ApS har pr. 1. april 2026 ansat Boris Sudar som Senior IT Specialist. Han skal især beskæftige sig med at sikre, at Renewtech cloudbaseret infrastruktur fortsætter på sit højeste niveau, mens han også skal drive system udvikling. Han kommer fra en stilling som Senior IT Specialist hos Eurowind Energy. Han har tidligere beskæftiget sig med Microsoft 365, Intune og sikker endepunktsstyring for hybrid og cloudbaseret infrastrukturer. Nyt job

    Boris Sudar

    Renewtech ApS

    Guardsix har pr. 1. maj 2026 ansat Louise Sara Baunsgaard som Global Marketing & Communications Director. Hun skal især beskæftige sig med at positionere virksomheden som et europæisk alternativ i en tid, hvor cybersikkerhed i høj grad handler om geopolitik. Hun kommer fra en stilling som Co-Founder og CMO hos Get BOB. Hun er uddannet Ba.ling.merc fra CBS og har desuden en Mini MBA i marketing. Hun har tidligere beskæftiget sig med marketing og kommunikation i ledende nordiske roller hos bl.a. Meta og Nets. Nyt job