我正在开发这个JavaScript游戏,在发生任何事情之前管理它的资产加载。首先,预加载器类加载一个资产json文件,该文件包含要加载的所有列出的资产。此文件包含aprox的链接。 30张图片,8张json文件和5个视频。除了视频文件之外的每一个资产都可以在每个主要浏览器(firefox,safari,explorer,chrome)中正常加载,但这5个视频文件的加载会被Internet Explorer中止。
我正在使用 HTML样板,也许这与它有关。
这是我在网络视图中得到的: Link to full size image file
有时,前两个视频加载,有时没有一个加载。这是加载这些视频的一大块代码:
case "ogv":
case "mp4":
item = document.createElement('video');
var itemSource = document.createElement('source');
item.id = 'vid'; item.width = '600'; item.height = '450'; item.controls = false;
if (extension == "mp4") {
itemSource.id = 'mp4'; itemSource.type = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';
} else if (extension == "ogv") {
itemSource.id = 'ogv'; itemSource.type = 'video/ogg; codecs="theora, vorbis"';
}
itemSource.src = pathToAsset;
item.appendChild(itemSource);
item.addEventListener("canplaythrough", onVideoCanPlaythrough, false);
item.load();
break;
这是监听程序处理程序:
var onVideoCanPlaythrough = function () {
console.log("onVideoCanPlaythrough");
item.removeEventListener("canplaythrough", onVideoCanPlaythrough, false);
assets[assetID] = item;
callback.call();
}
console.log("onVideoPlaythrough)
在Internet Explorer上不会触发一次。
我已经检查确保其他所有内容都是正确的(我在pathToAsset
变量中输入了正确的URL等等。这适用于所有其他浏览器 (除了歌剧,我还没有真正测试过),但不在IE上
有人可以建议如何处理这类问题的调试吗?
答案 0 :(得分:0)
显然,您开始使用video.play()
语句加载视频,而不是video.load()
在Internet Explorer 9上加载。这太棒了!