PreloadJS
在 Android 设备上加载文件时卡在特定步骤,而在桌面浏览器和 iPhone 上一切正常。
加载过程在最终的 GIF 文件处停止(如代码所示)。为什么无法加载此 GIF 文件?
以前在桌面浏览器上出现过这种情况,但没有错误,但当时是由一些非标准的mp3文件引起的。加载/初始化文件失败时如何处理这种异常?
这是我用来加载文件的代码。
var preload = new createjs.LoadQueue();
createjs.Sound.alternateExtensions = ["ogg"];
preload.installPlugin(createjs.Sound)
preload.installPlugin(createjs.SpriteSheet)
preload.addEventListener("fileload", updateLoadingProcess); // show loading process
showWelcomeText();
var resources = {
change: "assets/sound/change.mp3",
click: "assets/sound/click.mp3",
collide: "assets/sound/collide.mp3",
game_over: "assets/sound/gameover.mp3",
reset: "assets/sound/reset.mp3",
win: "assets/sound/win.mp3",
interface_assets: "assets/interface.png",
raining_serial: "assets/raining-serial.gif",
background: "assets/background.jpg",
text: "assets/text-" + LANG + ".gif",
};
var loadedResource = 0;
var manifest = [];
for(var i in resources){
manifest.push({id: i, src: resources[i] + _VER_ }); //add version to update cache
}
preload.loadManifest(manifest);
更新
我发现有些 Android 设备停在另一个点,第一张图片(interface.png),我真的不知道为什么,因为这些浏览器没有开发者工具。
更新
这个问题通过不对这些图像文件使用 XHR 来解决,尽管我仍然不知道为什么。var preload = new createjs.LoadQueue(false);
可以使它工作。