【问题标题】:Video's abort loading on internet explorer视频在 Internet Explorer 上中止加载
【发布时间】: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


    【解决方案1】:

    显然,您在 Internet Explorer 9 上使用 video.play() 声明而不是 video.load() 开始加载视频。这太棒了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-03
      • 2012-06-27
      • 1970-01-01
      • 2013-04-10
      • 2016-09-16
      • 2015-07-20
      • 1970-01-01
      • 2015-04-20
      相关资源
      最近更新 更多