【发布时间】:2012-04-03 09:18:23
【问题描述】:
我正在开发这个 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 上
谁能建议如何调试这类问题?
【问题讨论】:
标签: javascript html internet-explorer video loading