Javascript检测结束视频

时间:2014-02-06 11:23:17

标签: javascript html iframe video

我正在尝试在加载html页面时使用javascript播放随机视频。 基本上我创建了每个浏览器支持的视频数组。 但是我必须在视频结束时运行一个功能。我尝试使用iframe标记告诉浏览器视频已结束,因为我拥有的所有视频都是使用iframe标记调用的。但它不起作用。我正在谈论的功能是最后一行代码。 请帮忙。

<script type="text/javascript">
var videosFirefox = ['la_redoute_h264.ogv','la_redoute_h264.ogv'];
var videosSafari = ['la_redoute_h264.mp4','la_redoute_h264.mp4'];
var videosGoogleChrome = ['la_redoute_h264.mp4','la_redoute_h264.mp4'];

var indexFirefox=Math.floor(Math.random() * videosFirefox.length);
var htmlFirefox='<div class="flex-video widescreen"><iframe width="500" height="290" src="http://wificontent.go4digital.pt/laredoute/20140204/' + videosFirefox[indexFirefox] + '" allowfullscreen frameborder="0"></iframe></div>';

var indexSafari=Math.floor(Math.random() * videosSafari.length);
var htmlSafari='<div class="flex-video widescreen"><iframe width="500" height="290" src="http://wificontent.go4digital.pt/laredoute/20140204/' + videosSafari[indexSafari] + '" controls="controls" allowfullscreen frameborder="0"></iframe></div>';

var indexGoogleChrome=Math.floor(Math.random() * videosGoogleChrome.length);
var htmlGoogleChrome='<div class="flex-video widescreen"><iframe class="ivideo" width="500" height="290" src="http://wificontent.go4digital.pt/laredoute/20140204/' + videosGoogleChrome[indexGoogleChrome] + '" controls="controls" allowfullscreen frameborder="0"></iframe></div>';


var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);
var is_Firefox = /firefox/i.test(navigator.userAgent);

if (isChrome) document.write(htmlGoogleChrome);
if (isSafari) document.write(htmlSafari);
if (is_Firefox) document.write(htmlFirefox);

var ivideo = document.getElementsByClassName('ivideo');
ivideo.addEventListener('ended', function(){ 
    document.login.submit();
},false);
</script>

1 个答案:

答案 0 :(得分:0)

您似乎正在尝试利用HTML5 <video>标记进行播放。您使用<iframe>代替<video>是否有令人信服的理由?根据{{​​3}},“结束”事件确实在视频播放结束时触发。我找不到<iframe>标记支持“已结束”事件的任何证据。