Javascript Prelojs有时不';不要触发任何事件
所以我用HTML5制作了一些游戏,这些游戏一个接一个地玩,游戏每5分钟就会使用带有preloadJS库的loadgame函数进行更改。gameID是要加载的新游戏的文件名。发生的情况是,如果互联网速度非常慢,则不会触发任何事件,也不会加载下一个游戏Javascript Prelojs有时不';不要触发任何事件,javascript,html,canvas,createjs,preloadjs,Javascript,Html,Canvas,Createjs,Preloadjs,所以我用HTML5制作了一些游戏,这些游戏一个接一个地玩,游戏每5分钟就会使用带有preloadJS库的loadgame函数进行更改。gameID是要加载的新游戏的文件名。发生的情况是,如果互联网速度非常慢,则不会触发任何事件,也不会加载下一个游戏 loadgame = function() { canvas = document.getElementById("canvas"); stage = new createjs.Stage(canvas); loader
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);
}
我对错误进行了快速搜索,并指出数据的mimetype或字符集中可能存在导致错误的内容 与上面链接的帖子中的示例解决方案类似,您可以将自定义内容类型标题附加到任何加载项:
loader.loadFile({
src:gameID+".js",
headers:{"Content-Type" : "application/json; charset=utf-8"}
});
请注意,此加载项中不需要“type”属性(扩展名将为您确定),也不需要将
true
作为第二个参数传递,因为这是默认值。这是由于加载文件时超时而发生的,并且由于某些原因它不会触发事件
loader.loadFile({src:gameID+".js", type:"javascript", loadTimeout:"60000"}, true);
我使用Microsoft Edge:XMLHttpRequest:Network error 0x2ef3收到此错误,由于错误00002ef3,无法完成操作。谢谢,但XMLHttpRequest的问题是由于超时而根本无法加载文件。不确定您的评论是什么意思。错误信息表明它需要设置内容类型。如果您得到一个PreloJS当前无法检测到的错误,那么该文件将超时,但不应该导致00002ef3错误。我认为这是因为它没有加载提供内容类型的文件。至少这个错误不会再出现了,因为我把超时时间改为1分钟。