Beim Zeichnen von Grafiken mit HTML canvas
, während <script>
in Ihrem Dokument <head>
setzen, funktioniert nicht. Zum Beispiel:Warum HTML5 Canvas nicht gezeichnet wird, wenn das Skript innerhalb des head-Tags platziert wird?
<head>
<script>
var canvas = document.getElementById("myCanvas");
if(canvas.getContext("2d"))
var ctx = canvas.getContext("2d");
ctx.moveTo(0,0);
ctx.lineTo(200,100);
ctx.stroke();
</script>
</head>
<body>
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">
Your browser does not support the canvas element.
</canvas>
</body>
Aber Sie tun, um die erwarteten Ergebnisse erhalten, wenn <script>
innen <body>
platziert wird. Da Sie die <script>
irgendwo innerhalb platzieren können, warum funktioniert das nicht mit canvas
? Danke im Voraus!
Das liegt daran, dass Sie versuchen, auf das Canvas-Element zuzugreifen, bevor es im DOM existiert. Platzieren Sie Ihren Code in einem 'window.onload' oder nachdem der Canvas geladen wurde oder platzieren Sie ihn nach dem DOM-Element in HTML (Skript am Ende des Rumpfes). –