Javascript文件的预加载
在一个小引擎上运行我的HTML5测试游戏,将其作为深入了解Javascript并同时享受乐趣的好方法。成功了,顺便说一句 然而,我刚刚发现了这个名为prelojs()的很酷的小脚本。还使用了John Resig的经典继承类JS。很酷,很享受。我正在尝试使用PrelodJS来拉入我所有的引擎文件…但我似乎遇到了一个问题。下面是我正在使用的代码(有意保持简单): 从引擎实例化中,我调用ScriptLoader.loadProjectSource。它除了抛出错误什么也不做,而关于错误处理(以及加载JS文件)的文档在PrelodJS站点上非常稀少。它专注于预加载图像(不可否认,这看起来很棒)。总之,是的,这是错误。不可能是文件,因为我尝试加载一个完全空白的JS文件(如您所见)。仍然在空的.js文件上抛出错误Javascript文件的预加载,javascript,html,preload,Javascript,Html,Preload,在一个小引擎上运行我的HTML5测试游戏,将其作为深入了解Javascript并同时享受乐趣的好方法。成功了,顺便说一句 然而,我刚刚发现了这个名为prelojs()的很酷的小脚本。还使用了John Resig的经典继承类JS。很酷,很享受。我正在尝试使用PrelodJS来拉入我所有的引擎文件…但我似乎遇到了一个问题。下面是我正在使用的代码(有意保持简单): 从引擎实例化中,我调用ScriptLoader.loadProjectSource。它除了抛出错误什么也不做,而关于错误处理(以及加载JS
恼火:)提前感谢。预加载JS脚本在浏览器支持的情况下使用XHR。为了使其在本地托管脚本中正常运行,必须运行本地Web服务器。激活我的本地Web服务器并尝试相同的操作后,完全成功
var ScriptLoader = Class.extend({ // Want to add functionality to this to allow PHP or inline loading...perhaps later
init: function() {
this.fileList = [
'Empty.js',
'./engine/Scene.js'
];
this.preload;
},
loadProjectSource: function(directory) {
if (this.preload != null) { this.preload.close(); }
this.preload = new createjs.LoadQueue();
this.preload.addEventListener("fileload", this.fileLoaded);
this.preload.addEventListener("error", this.fileError);
this.preload.setMaxConnections(5);
this.loadAnother();
},
loadAnother: function() {
var item = this.fileList.shift();
if(this.fileList.length != 0) {
this.preload.loadFile(item);
}
},
fileLoaded: function(e) {
debug('Loaded ' + e.item.src);
this.loadAnother();
},
fileError: function(e) {
debug('Error ' + e.item.src);
}
}