2016-06-30 62 views
1

我正在使用<video>作爲背景英雄視頻。它從零時開始。當它到達0:11剪輯的末尾時,它會彈出回到:02並從那裏重複。我已經完成它:HTML5視頻正在尋求在Safari上「結束」的中間視頻

document.getElementById('bgvid').addEventListener('ended',repeatVid,false); 
function repeatVid(e) { 
    var mediaElement = document.getElementById('bgvid'); 
    mediaElement.currentTime = 2; 
    mediaElement.play(); 
} 

我只關心桌面體驗,因爲它交換到平板電腦/手機上的後備圖像。這適用於Chrome,Firefox甚至IE。然而,Safari從0:00開始重複,而不是從02開始。

把整個功能放在按鈕onclick而不是addeventListener作品。重新分配currentTime似乎不成問題。我試過把整個東西放在video.oncanplaythrough = function() {裏面。我試過將.addEventListener('ended')更改爲$('video').on('ended',function(){video.onended = function() {

看起來像.play()總是會讓你回到0:00,除非我能讓它工作on('click'),所以有一些東西。謝謝你的幫助!

回答

0

Safari中的play()函數似乎將當前時間重置爲零。

如果play()視頻,並直接後置的currentTime的,它像預期:

document.getElementById('bgvid').addEventListener('ended',repeatVid,false); 
function repeatVid(e) { 
    var mediaElement = document.getElementById('bgvid'); 
    mediaElement.play(); 
    mediaElement.currentTime = 2; 
} 
+0

天哪織補它。當你大腦試圖找到答案並最終不必要地過度複雜時,總是令人沮喪。謝謝! – Holly

+0

有時它只需要第二雙眼睛;-) –

+0

這裏同樣的問題。當我在播放()後放置當前時間時,我看到視頻在00:00閃爍,之後跳轉到currentTime。有任何想法嗎? – user2622348