Video onended()或end在iOS的Safari中不触发

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Video onended()或end在iOS的Safari中不触发相关的知识,希望对你有一定的参考价值。

以下代码在Chrome或台式机上的Firefox中可正常使用,但在ios上的Safari中不可用。

<video class="video-js vjs-fluid vjs-default-skin" preload playsinline webkit-playsinline  data-setup=' "inactivityTimeout": 0 ' disablePictureInPicture controls muted controlsList="nodownload nofullscreen noremoteplayback" id="fVideo">
     <source src="myvideo.mp4" type="video/mp4">
</video>

...这是javascript

<script>
    document.getElementById('fVideo').addEventListener('ended',myHandler,false);
    function myHandler(e) 
        alert('video ended');
    
</script>

任何帮助将不胜感激。

答案

使用videojs函数回调替换了Javascript代码,现在可以使用。

<script>
    var player = videojs('fVideo');
    var options = ;
    var player = videojs('fVideo', options, function onPlayerReady() 
        this.on('ended', function() 
            alert('video ended');
        );
    );
</script>

以上是关于Video onended()或end在iOS的Safari中不触发的主要内容,如果未能解决你的问题,请参考以下文章

播放多个音视频文件

jquery.danmu.js视频播放插件如何判断一个视频是不是播放完毕,有没有像video里面ended这样的属性

onEnded 事件未在 dojo 对话框中触发

SpeechSynthesis API onend 回调不起作用

[答疑]onEnded

jquery 有3段video视频,当video结束的时候循环动态更换video的src