我正在将未知尺寸的 html5 视频标签动态插入到页面上。我正在通过loadedmetadata
事件获得尺寸,这在所有浏览器上都像魅力一样。
但是,据我了解,在用户触摸 ipad 上的视频之前,此事件不会触发。这使得很难获得我需要的视频的实际尺寸以调整其容器的大小。
在那儿
- 获取适用于这种情况的视频尺寸的另一种方法是什么?或者
- 一种触发加载元事件的方法?
谢谢!
代码:
var src=fullPathToVideoWithoutExtension;
// DETECT WHICH FILE FORMAT TO USE
if($.support.browser.h264||$.support.mpeg4){
var supportedSRC=supportedSRC+'<source src="'+src+'.mp4" type="video/mp4">';
};
if($.support.browser.ogg){
var supportedSRC=supportedSRC+'<source src="'+src+'.ogv" type="video/ogg">';
};
// SETUP THE VIDEO ELEMENT
var $Video=$('<video id="Box_Video" controls>'+supportedSRC+'</video>');
$Video[0].src=src+'.mp4';
$Video[0].addEventListener('loadedmetadata',function(){
var width=this.videoWidth;
height=this.videoHeight;
},false)
这是一个小提琴:http: //jsfiddle.net/Fv4XG/1/
请注意,在浏览器中它会立即提醒视频尺寸,但在 ipad 上,您必须等到有用户交互才能拉出尺寸。像在所有其他浏览器中一样将视频插入 DOM 时,如何获取尺寸?