Javascript 我得到了这个错误;createjs未定义";即使我链接到了这个文件
这里我有一个非常简单的脚本Javascript 我得到了这个错误;createjs未定义";即使我链接到了这个文件,javascript,easeljs,createjs,Javascript,Easeljs,Createjs,这里我有一个非常简单的脚本 stage = new createjs.Stage("myCanvas"); circle = new createjs.Shape(); circle.graphics.beginFill("red").drawCircle(0,0,40); 还有我的HTML <!DOCTYPE HTML> <html> <head> <link rel="stylesheet" type="text/css" href="mai
stage = new createjs.Stage("myCanvas");
circle = new createjs.Shape();
circle.graphics.beginFill("red").drawCircle(0,0,40);
还有我的HTML
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" type="text/css" href="mainStyle.css">
<script src="mainScript.js"></script>
<script src="create.js"></script>
</head>
<body>
<canvas id="myCanvas" width=1000 height=500 ></canvas>
</body>
</html>
但它并不奏效。我得到这个错误:
“未定义createjs”
但在我的HTML中,它链接到文件。是否还有其他原因导致这种情况?
<script src="create.js"></script>
<script src="mainScript.js"></script>
您的代码需要在包含
create.js
-订单事项后执行。您的代码有几个问题
首先,要直接回答这个问题,必须先加载构造createjs对象的库,然后再加载实例化它的脚本。更改头部中脚本标记的顺序
其次,实例化将在画布元素添加到DOM之前执行。要解决此问题,您需要侦听文档的onload事件。然后执行代码
第三,要使红色圆圈对象实际显示,需要将其附加到画布,然后调用stages update方法
例:
对于角度项目,上述答案可能不足以解决问题。我所做的:
myAngularModule.service('preloadservice', function ($rootScope) {
if (typeof createjs === 'undefined') {
setTimeout(continueAfterWait, 500);
} else {
continueAfterWait();
}
var continueAfterWait = function () {
var queue = new createjs.LoadQueue();
//...
}
}
你能发布链接到该文件的代码吗?修改它以包含HTML
myAngularModule.service('preloadservice', function ($rootScope) {
if (typeof createjs === 'undefined') {
setTimeout(continueAfterWait, 500);
} else {
continueAfterWait();
}
var continueAfterWait = function () {
var queue = new createjs.LoadQueue();
//...
}
}