2012-06-04 59 views
4

我目前使用Video JS來提供視頻文件,並且視頻來源正在改變,具體取決於訪問者點擊的項目。當我的頁面加載時,我運行下面的代碼將視頻對象綁定到一個變量。視頻JS就緒事件和IE8

var videoPlayer = _V_("my_video_1"); 

這適用於除IE7和IE8以外的所有瀏覽器。我一直在調試我的代碼,它似乎陷入了準備好的事件中,它永遠不會觸發。儘管它不會在控制檯中留下任何錯誤。但是就緒函數內部的任何警報或操作都會被忽略,並且確實在此時正在修改源代碼。這是我使用更改源代碼:

videoPlayer.ready(function(){ 
    var myPlayer = this; 
    myPlayer.src([ 
     { type: "video/mp4", src: videoFile + ".mp4" }, 
     { type: "video/ogg", src: videoFile + ".ogv" } 
    ]); 
    myPlayer.play(); 
    myPlayer.volume(0.2); 
    $('div#videoViewer').show(); 
}); 

我一直在使用其他兩頁相同的代碼,並沒有出現過問題,得到這個工作。現在我和一位同事已經調試了好幾個小時,但沒有接近解決方案。

有沒有人在這裏有任何想法是什麼可能導致事件被忽略? 我一直在試圖禁用所有其他腳本,以找到問題的根源,但它一直沒有工作。

我非常感謝任何可以幫助我解決這個問題的答案。 在此先感謝!

祝好//喬納森

回答

4

我有同樣的問題。在我的情況下,就緒事件不會在IE8中觸發,因爲我的包裝div被設置爲display:none。如果包裝是可見的,就緒事件會按預期發射。這個問題在IE9中沒有發生。

+0

我使用顯示器的訪問版本:無;,所以溢/寬/高/能見度,發生在IE6-8等同樣的問題,我不得不刪除我的視頻容器中的訪問類,一切正常,然後,羞辱一個小副FOUC。 – danjah

0

我有同樣的問題,我的解決方案是直接傳遞DOM元素,而不是id到videojs函數。

//having this 
<video id="VIDEO" ....> 

//this fails 
videojs('VIDEO').ready(...) 

// this works!! 
videojs(document.getElementById('VIDEO')).ready(...) 

希望它能幫助:d