Javascript 仅在Android上显示html5视频控件
我有一个带有flash回退功能的视频标签:Javascript 仅在Android上显示html5视频控件,javascript,android,ios,ios6,html5-video,Javascript,Android,Ios,Ios6,Html5 Video,我有一个带有flash回退功能的视频标签: <video id="myvideo" width="480" height="224" autoplay preload="auto" loop poster="intro6.jpg"> <source src="intro6.mp4" type="video/mp4"> <source src="intro6.webm" type="video/webm"> <source src="intro6.ogv"
<video id="myvideo" width="480" height="224" autoplay preload="auto" loop poster="intro6.jpg">
<source src="intro6.mp4" type="video/mp4">
<source src="intro6.webm" type="video/webm">
<source src="intro6.ogv" type="video/ogg">
<object width="480" height="224" type="application/x-shockwave-flash" data="player.swf">
<param name="movie" value="player.swf" />
<param name="flashvars" value="autostart=true&controlbar=hide&image=intro6.jpg&file=intro6.mp4&repeat=always" />
<img src="intro6.jpg" width="480" height="224" />
</object>
</video>
正如你所看到的,我没有任何控件,它只是一个自动播放的循环视频。这在桌面浏览器上效果很好,但在Android和iOS上效果不太好。
所以我需要在Android上看到控件,因为它不会自动播放或循环。
在iOS上,我需要的视频不是自动播放
有没有办法用javascript实现这一点?请记住,我对javascript知之甚少
谢谢 最简单、最实用的方法可能是检查用户代理,看看你是否在安卓系统上
if (navigator.userAgent.indexOf('Android') >=0) {
document.getElementById('myvideo').controls = true;
}
一般来说,用户代理嗅探是“不受欢迎的”。通常最好使用功能检测,因为一些未来版本的Android浏览器可能支持自动播放。但是移动浏览器通常不会很好地告诉你他们什么时候不支持视频/音频规范
另一种方法是检查事件。在FF/Chrome/IE9+中,事件将触发一系列事件,包括:加载开始
,进度
,持续时间更改
,等等。。。最多可播放
和播放
。在Android浏览器中(至少是我的旧版本),视频会触发一个stalled
事件。您可以查找已暂停的
,然后启用控件。您可以在获得“播放”事件时再次删除它们
var video = document.getElementById('myvideo'), started = false;
if (video && video.addEventListener) { //in case of IE < 9
video.addEventListener('stalled', function() {
if (!started) video.controls = true;
}, false);
video.addEventListener('play', function() {
started = true;
video.controls = false;
}, false);
}
var video=document.getElementById('myvideo'),start=false;
if(video&&video.addEventListener){//如果IE<9
video.addEventListener('stalled',function(){
如果(!started)video.controls=true;
},假);
video.addEventListener('play',function(){
开始=真;
video.controls=false;
},假);
}
但你可能会看到这一事件还有其他原因,比如互联网连接速度慢。因此,在视频开始之前,您仍有可能在桌面浏览器中看到一些控件
你不必担心iOS。即使你想自动播放,它也不会自动播放