-1

为什么这段代码不起作用?

<!DOCTYPE html>
<html lang="es">
 <head>
  <title>Euroqpa</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <script type="type=text/javascript">
   <!--
    function drawcanvas() {
     var c=document.getElementById("myCanvas");
     var ctx=c.getContext("2d");
     ctx.fillStyle="#FF0000";
     ctx.fillRect(0,0,150,75);
    }
   //-->
  </script>
 </head>
 <body>
 <canvas id="myCanvas" width="300" height="300"></canvas>
 <script type="text/javascript">
 <!--
  drawcanvas();
 //-->
 </script>
 </body>
</html>

我认为head中定义的函数应该被body中的脚本识别。不是吗?

它说: Uncaught ReferenceError: drawcanvas is not defined

4

3 回答 3

5

乍一看,您type在头部脚本上的属性是错误的

代替

<script type="type=text/javascript">

经过

<script type="text/javascript">
于 2013-09-26T21:41:38.687 回答
3

浏览器会忽略script具有无法识别type属性的元素(这被内联模板利用)

只需将type属性全部删除,这不是必需的。

于 2013-09-26T21:42:26.543 回答
-1

这可能是因为你有<!--之前和-->之后的功能。

这些是 HTML 而非 javascript 的注释,会导致错误

于 2013-09-26T21:43:15.477 回答