javascript - 如何在视频 html5 上回退到 Gif 但不事先下载 gif?

标签 javascript html video

我将 gif 转换为视频以减小 gif 的大小。不过,我将 gif 作为后备图像包含在内。

<video  autoplay="" loop="">
    <source src="broken_video_link" type="video/mp4"/>
    <img src="http://placekitten.com/600/220" />
</video>

这是 JSFiddle https://jsfiddle.net/pjqL299w/

我只看到的只是黑色方 block ,没有图像后备。

最佳答案

创建一个错误事件监听器,类似这样。它也记录在这里:

https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_HTML5_audio_and_video

var v = document.querySelector('video'),
    sources = v.querySelectorAll('source'),
    lastsource = sources[sources.length - 1];
lastsource.addEventListener('error', function (ev) {
    var d = document.createElement('img');
    d.src = "http://placekitten.com/600/220";
    d.innerHTML = v.innerHTML;
    v.parentNode.replaceChild(d, v);
}, false);

关于javascript - 如何在视频 html5 上回退到 Gif 但不事先下载 gif?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30486039/

相关文章:

video - 将实时 WebRTC 视频存储在 YouTube 中

ios - SKVideoNode 不显示视频

javascript - 正则表达式/分割句子

html - 多级悬停的 CSS 样式

html - 37signals 风格的布局模板

使用 Golang 进行 HTML 验证

ios - 如何在我的 iOS 应用程序中嵌入优酷或土 bean 视频?

javascript - 比较 JS 中的输入值

javascript - A星算法: Slow Implementation

javascript - React 功能组件 - useState/useCallback - 值在提交时更改回/恢复为初始值