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

问题描述 投票:0回答:1

以下代码在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>

任何帮助将不胜感激。

javascript jquery ios safari html5-video
1个回答
0
投票

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

<script>
    var player = videojs('fVideo');
    var options = {};
    var player = videojs('fVideo', options, function onPlayerReady() {
        this.on('ended', function() {
            alert('video ended');
        });
    });
</script>
© www.soinside.com 2019 - 2024. All rights reserved.