2015-05-05 114 views
0

我正在Squarespace網站上工作,他們不允許視頻上傳,因此我使用Dropbox來託管視頻。從Dropbox使用HTML5視頻播放器的MP4,不重複

視頻開始播放,但他沒有重複。

這是代碼:

<video id="htmlVideo" loop="loop"> 
    <source type="video/mp4" src="https://www.dropbox.com/s/videoID/videoplayback.mp4?dl=1"> 
</video> 

可能是什麼問題呢?

這是我如何創建視頻

/* 
function repeatForDropbox() { 
    console.log("repeatForDropbox caled" + htmlVideo); 
} 
*/ 

function createVideo() { 
    var video = document.createElement("video"); 
     video.id = "htmlVideo"; 
     video.loop = "loop"; 

    var vidSource = document.createElement("source"); 
     vidSource.type = "video/mp4"; 
     vidSource.src = "https://www.dropbox.com/s/videoID/videoplayback.mp4?dl=1"; 

    video.appendChild(vidSource); 

    var vidLocation = document.querySelector('#location').parentNode; 
     vidLocation.appendChild(video); 
    htmlVideo = document.querySelector(" #htmlVideo "); 

    // on load, play the video/mp4 
    window.onload = function() { 
     setTimeout(function() { 
      htmlVideo.play(); 
      // htmlVideo.addEventListener("ended", repeatForDropbox);           
      // I tried here to make the video repeat, using the "ended" event listener 
      // so when the video ended, the video 
      // should get another <source> element(same src) 
      // and delete the old one 
      // but the event didn't fire 
      // I also tried htmlVideo.onended = function() {} , but same result 
     }, 500); 
    } 
} 
+0

您試圖更改'loop =「loop」'爲:'

+0

@Ferrrmolina,我怎麼用Javascript做到這一點?只添加「循環」。 – Marian07

+0

在html標記中。 – Ferrrmolina

回答

1

只是一個猜測,但我懷疑這涉及到重定向。一個帶有?dl = 1的Dropbox共享鏈接會將您重定向到一次性使用 URL來下載內容。也許當視頻播放器嘗試循環時,它會嘗試再次訪問重定向的目標。

這可能會出現在來自瀏覽器的網絡流量中,所以值得一看。 (例如,如果您使用的是Chrome瀏覽器的網絡選項卡)。

+0

我很害怕這個。我認爲這就是爲什麼視頻不會重複。您怎麼看待替換元素?這會使視頻再次播放嗎?或者不是,因爲曾經被稱爲。 – Marian07

0

萬一還有人需求的解決方案,我發現使用jQuery解決方法:

$('video').on('ended', function() { 
    this.load(); 
    this.play(); 
}); 

然而,有一個重複之間的輕微延遲!