【发布时间】:2014-02-07 00:33:14
【问题描述】:
我当前项目的一部分涉及通过 HTML5 的本机视频标签加载外部视频,然后使用 Javascript 将它们调整为 DOM 的完整高度和宽度。
我的代码似乎可以在桌面浏览器上完美运行,但是当我在 ipad 上加载我的项目时,视频不会调整大小,因为 onloadedmetadata 事件永远不会被触发。
这是一个重现问题的小代码示例:
function init() {
var video = document.getElementById('viddy');
video.addEventListener('loadedmetadata', function(e){
var dimensions = [video.videoWidth, video.videoHeight];
alert(dimensions);
});
}
document.addEventListener("DOMContentLoaded", init, false);
<video id="viddy" autoplay>
<source src="http://media.w3.org/2010/05/sintel/trailer.webm" type='video/webm' />
<source src="http://www.w3schools.com/html/movie.mp4" type="video/mp4" />
</video>
http://jsfiddle.net/AUSNu/213/
我什至尝试过使用 jQuery 编写解决方案,以防事件可能触发,但它仍然没有。
$('#viddy').on('loadedmetadata', function() {
alert('test');
});
我什至在我的 ipad 上通过 safari 启用远程调试,但控制台中仍然没有输出。
有什么解决方法吗?我在网络/文档中找不到太多关于此的信息。
【问题讨论】:
-
更新:jsfiddle 也适用于 Android。这是 iOS 的错误吗?
标签: javascript jquery ios html html5-video