0

所以我用 HTML5 制作了一些游戏,它们一个接一个地玩,使用带有 preloadJS 库的 loadgame 函数,游戏每 5 分钟更改一次。gameID 是要加载的新游戏的文件名。发生的情况是,如果互联网非常慢,则不会触发任何事件并且永远不会加载下一个游戏。

loadgame = function() 
{
    canvas = document.getElementById("canvas");
    stage = new createjs.Stage(canvas);

    loader = new createjs.LoadQueue(false);
    loader.loadFile({src:gameID+".js", type:"javascript"}, true);   
    loader.addEventListener("complete", prehandleComplete);
    loader.addEventListener("error", handleLoadError1);
    loader.addEventListener("fileerror", handleLoadError1);
}
4

2 回答 2

0

我对错误进行了快速搜索,发现一些结果表明数据的 mimetype 或 charset 中可能存在导致错误的内容。

与我上面链接到的帖子中示例的解决方案类似,您可以将自定义 Content-Type 标头附加到任何加载项:

loader.loadFile({
    src:gameID+".js", 
    headers:{"Content-Type" : "application/json; charset=utf-8"}
});  

请注意,您不需要此加载项中的“类型”属性(扩展程序将为您确定),也不需要true作为第二个参数传递,因为这是默认值。

于 2015-10-07T15:30:22.997 回答
0

发生这种情况是因为加载文件超时并且由于某种原因它不会触发事件。

loader.loadFile({src:gameID+".js", type:"javascript", loadTimeout:"60000"}, true);  
于 2015-10-07T18:09:50.617 回答