[]动态加载代码后,总是出现 ProgressBar is not a constructor

            //动态加载js文件--my.js
function loadJs(jspath,defer = true)
{
//得到html的头部dom
// var theHead = document.getElementsByTagName('head').item(0);
var theHead = document.getElementsByTagName('body').item(0);
//创建脚本的dom对象实例
var myScript = document.createElement('script');

myScript.src = jspath; //指定脚本路径
myScript.type = "text/javascript"; //指定脚本类型
myScript.defer = defer;//true; //程序下载完后再解析和执行
theHead.appendChild(myScript); //把dom挂载到头部
}
这是我使用的动态加载js的脚本。
 
    function onLoadComplete()
{

pBar = new ProgressBar(AssetsDir+"./assets/progressBar.png");
pBar.width = Laya.stage.width/2;//400;

pBar.x = (Laya.stage.width - pBar.width) / 2;
pBar.y = Laya.stage.height / 2;
。。。
}
这是 progressBar 资源加载完毕之后,构造progressBar的脚本。
总是在这里出现错误,如下:
 
ncaught TypeError: ProgressBar is not a constructor
at onLoadComplete (game.js:81)
at Handler.__proto.runWith (laya.core.js:686)
at ResInfo.loadComplete (laya.core.js:12634)
at EventHandler.__proto.runWith (laya.core.js:687)
at ResInfo.__proto.event (laya.core.js:465)
at LoaderManager.__proto._endLoad (laya.core.js:12504)
at Loader.onLoaded (laya.core.js:12481)
at EventHandler.__proto.runWith (laya.core.js:686)
at Loader.__proto.event (laya.core.js:465)
at Loader.__proto.endLoad (laya.core.js:12159)
我开始去检查是不是ProgressBar没有定义,检查之后,确实是定义了的。
如下:
    var Sprite = Laya.Sprite;
var Stage = Laya.Stage;
var Text = Laya.Text;
var Label = Laya.Label;
var Stat = Laya.Stat;
var WebGL = Laya.WebGL;
var Browser = Laya.Browser;
var Handler = Laya.Handler;
var ProgressBar = Laya.ProgressBar;
var Loader = Laya.Loader;
还请大神不吝赐教。
 
已邀请:

bq49

赞同来自:

动态加载方法修改为 document.write 方式可以避免这种问题。

魔狼

赞同来自:

这个问题解决了嘛  我也报这个错

魔狼

赞同来自:

导入相应的js
loadLib("libs/laya.ui.js");

Aar0n

赞同来自:

你资源加载的错了  看一下示例https://layaair.ldc.layabox.co ... ssBar

要回复问题请先

商务合作
商务合作