2011-01-31 105 views
0

我正在使用MediaElement.js作爲正在進行的網站的HTML5視頻播放器。它在Chrome,Safari和Firefox中運行良好,即使使用回退播放器也可以,但在Internet Explorer中,我收到了以下Javascript錯誤:http://d.pr/Jsfo。它似乎沒有加載我的海報或我的播放器風格(在其他瀏覽器中可以正常工作)。IE中的Mediaelement.js javascript錯誤

該播放器的代碼正在動態加載,因爲它出現在lightbox中,並且有多個視頻可以在頁面上播放。該注入的HTML中的JavaScript是在頁面的底部

你可以看到網站的發展住在http://mindsmack.ryangiglio.com

回答

10

不幸的是,你不能動態地插入IE HTML5的標籤,因爲它打破了他們的嵌套

<video> 
    <source src="file.mp4"> 
    <source src="file.webm"> 
</video> 

成爲

<video /> 
<source src="file.mp4"> 
<source src="file.webm"> 

然後MediaElement.js不能找出其中的源文件。

我的建議是把一個<video>標籤在頁面上的永久性斑點,再準備一個MediaElement的對象

var player = new MediaElementPlayer('#video'); 

,然後當你準備播放視頻,只是把它

// single MP4 
player.setSrc('newfile.mp4'); 

// OR multiple 
player.setSrc([{src:'newfile.mp4',type:'video/mp3'},{src:'newfile.webm',type:'video/webm'}]); 

// load and play 
player.load(); 
player.play(); 

此外,您應該刪除<object><video>標記中嵌入HTML,因爲這僅適用於IE用戶未啓用JavaScript的情況,而您的應用需要JavaScript。

+0

我忘了那個HTML5 IE錯誤。實際上有一小部分Javascript可以解決這個問題:http://jdbartlett.github.com/innershiv/。這固定了它,而不用改變任何代碼,除了添加函數調用。 – 2011-01-31 17:26:54