我正在尝试在加载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>
答案 0 :(得分:0)
您似乎正在尝试利用HTML5 <video>
标记进行播放。您使用<iframe>
代替<video>
是否有令人信服的理由?根据{{3}},“结束”事件确实在视频播放结束时触发。我找不到<iframe>
标记支持“已结束”事件的任何证据。