fabric.js push()在尝试使用外部javaScript调用时不起作用

fabric.js push()在尝试使用外部javaScript调用时不起作用,javascript,fabricjs,Javascript,Fabricjs,我是fabric.js的新手。我在本页中尝试简单的例子。“自定义背景图像” 当我将其编码为内部Javascript时,它工作正常。但当我试图使用外部JavaScript使用相同的代码时。上面说 未捕获类型错误:无法读取未定义的属性“push” HTML文件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transition

我是fabric.js的新手。我在本页中尝试简单的例子。“自定义背景图像”

当我将其编码为内部Javascript时,它工作正常。但当我试图使用外部JavaScript使用相同的代码时。上面说

未捕获类型错误:无法读取未定义的属性“push”

HTML文件

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

    <link href="style.css" rel="stylesheet" type="text/css" />

    <script src="fabric.js"></script>
    <script src="design.js"></script>


</head>

<body>
    <div id="canvas_div">
    <canvas id="c" width="300" height="300">
    </canvas>
    </div>

     <script>

        /*var canvas = new fabric.Canvas('c');
        canvas.add(new fabric.Circle({ radius: 30, fill: '#f55', top: 100, left: 100 }));
        canvas.setOverlayImage('bg.png', canvas.renderAll.bind(canvas));
        this.__canvases.push(canvas);*/

    </script>

</body>
</html>

this.\uu canvases
表示fabricjs的演示,因此您应该对这行进行注释。 ` var canvas=new fabric.canvas('canvas')


`

js写在哪里?确保在“design.js”中的fabric.jscode之后链接该文件,在fabric.jsI找到答案之后链接该文件,您必须在标题上调用fabric.js库。库的外部java脚本应该在页脚上调用。
    var canvas = new fabric.Canvas('c');
    canvas.add(new fabric.Circle({ radius: 30, fill: '#f55', top: 100, left: 100 }));
    canvas.setOverlayImage('bg.png', canvas.renderAll.bind(canvas));
    this.__canvases.push(canvas);
  canvas.add(new fabric.Rect({ fill: '#f55', top: 100, left: 100, width:100, height: 100 }));
  canvas.setBackgroundImage(this.imgSrc, canvas.renderAll.bind(canvas))
  // this.__canvases.push(canvas)