Javascript文件(excanvas)在页面底部加载时不工作

Javascript文件(excanvas)在页面底部加载时不工作,javascript,excanvas,Javascript,Excanvas,这项工作: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <script src="/js/msgv/widgets/

这项工作:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

  <script src="/js/msgv/widgets/excanvas2.js" type="text/javascript"></script>
  <script type="text/javascript" charset="utf-8">
    function canvasTest(){
      console.log("beginning canvasTest");
      var b_canvas = document.getElementById("regularCanvas");
      var b_context = b_canvas.getContext("2d");
      b_context.fillRect(50, 25, 150, 100);
    }
  </script>

</head>

<body onLoad="canvasTest()">
    <canvas id="regularCanvas" style="border: 1px dotted; float: left;" class="clear" height="225" width="300"></canvas>
</body>
</html>

函数canvasTest(){
console.log(“最开始的canvast”);
var b_canvas=document.getElementById(“regularCanvas”);
var b_context=b_canvas.getContext(“2d”);
b_context.fillRect(50,25,150,100);
}
这并不是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

两者之间的唯一区别是我在页面中加载它的位置。当我在头上装excanvas时,一切正常。我在身体底部加载时出错

  <script type="text/javascript" charset="utf-8">
    function canvasTest(){
      console.log("beginning canvasTest");
      var b_canvas = document.getElementById("regularCanvas");
      var b_context = b_canvas.getContext("2d");
      b_context.fillRect(50, 25, 150, 100);
    }
  </script>

</head>

<body onLoad="canvasTest()">
    <canvas id="regularCanvas" style="border: 1px dotted; float: left;" class="clear" height="225" width="300"></canvas>
  <script src="/js/msgv/widgets/excanvas2.js" type="text/javascript"></script>
</body>
</html>

函数canvasTest(){
console.log(“最开始的canvast”);
var b_canvas=document.getElementById(“regularCanvas”);
var b_context=b_canvas.getContext(“2d”);
b_context.fillRect(50,25,150,100);
}

在标记中出现任何画布元素之前,页面中必须包含excanvas.js文件。这是由于IE的局限性,我们需要在IE看到标记中的任何实例之前发挥我们的魔力。建议将其放在头部

:

在标记中出现任何画布元素之前,页面中必须包含excanvas.js文件。这是由于IE的局限性,我们需要在IE看到标记中的任何实例之前发挥我们的魔力。建议将其放在头部


如果您希望异步/有条件地加载excanvas,则有可能:

如果您希望异步/有条件地加载excanvas,则可能:

RTFM真的!非常感谢,Ryley.RTFM!谢谢你,瑞利。