2017-04-05 79 views
0

我目前使用Rails應用程序中VideoJS(那裏是每一個頁面上的視頻播放器)來顯示視頻,我遇到一個很奇怪的問題卸載:如何獲得videojs自動

玩家在我訪問的第一頁上工作得很好,但如果我播放視頻並訪問另一個頁面,即使頁面不再打開(您可以聽到音頻)和視頻,第一頁中的視頻仍會在後臺播放在您訪問的頁面沒有正確初始化(選項不適用,這意味着視頻無法播放,因爲控件是一個選項)和控制檯讀取VIDEOJS: WARN: Player "player" is already initialised. Options will not be applied.

如何讓VideoJS卸載當用戶離開頁面時,它爲什麼繼續播放,HTML5視頻播放器之前沒有這樣做。

解決此問題的最佳方法是讓VideoJS在頁面加載時手動重新加載自己?如果是這樣,那怎麼做?

備註:如果我導航到網站中的任何其他頁面,視頻仍然不會初始化,但是如果我重新加載頁面,任何頁面,上述頁面上的視頻都會再次運行。

注2:事實是JavaScript事件甚至不火的onbeforeunload如果我點擊一個鏈接到另一個頁面,它只有火災,如果你打算到一個完全不同的網站,所以我甚至不能在頁面卸載時使用它來.dispose() VideoJS。

注3:.reset()似乎沒有被任何工作。

回答

0

您可以檢查播放器是否已經存在並將其卸載,然後重新加載。

我居然能想出一個相當簡單和優雅的解決方案:

if (player) {player.dispose()} else {var player} 
player = videojs('player', { 
    //options 
}); 

首先,它會檢查,看是否存在的球員。如果是這樣,它會銷燬VideoJS實例。如果沒有,它會創建變量。然後它初始化播放器。