2017-03-27 61 views
1

我有一個HTML 5播放器,我試圖檢測視頻完成時。我試圖用JQUERY和JavaScript檢測它到目前爲止沒有運氣。事件監聽器不檢測視頻的完成

<video id="myVideo"></video> 

$("#myVideo").bind("ended", function() { 
    alert('Video ended!'); 
}); 

var vid = document.getElementById("myVideo"); 
vid.src = "Content/Test.mp4"; 
vid.play(); 

vid.addEventListener('ended', videoFinish, false); 

function videoFinish() { 
    alert('Video ended!'); 
} 
+0

我認爲你必須有一個視頻......不只是一個視頻標籤可能?沒有媒體的視頻標籤如何「結束」?另外,您的JavaScript需要位於'

1

試試這個

$('#myVideo').on('ended',function(){ 
      alert('Video ended!'); 
} 

或者

<video src="video/endscene.mp4" id="myVideo" controls onended="videoEnded()"> 
+1

這應該不會有什麼不同,相比已有的 –

+1

我記得使用第二個很久以前,它的工作。我同意這只是「asker」做同樣事情的另一種方式,但它對我來說就是這樣。此外,我給了適當的方式把視頻控制在HTML中。我認爲問題在這裏。 –

+0

有趣的,也許它修復了我猜測的問題正在發生 –

1

我懷疑這是因爲你在程序中添加SRC或播放視頻(但只能去猜測你沒有回覆我的問題)。嘗試添加該事件的視頻加載後:

function onVideoLoaded(e) { 
    console.log('onVideoLoaded', e.target === vid); 
    vid.addEventListener('ended', onVideoEnded); 
} 

function onVideoEnded() { 
    console.log('onVideoEnded'); 
} 

vid.addEventListener('loadstart', onVideoLoaded);