Mediaelement.js ошибка JavaScript в IE - PullRequest
0 голосов
/ 31 января 2011

Я использую MediaElement.js в качестве проигрывателя HTML5-видео для сайта в процессе разработки. Он отлично работает в Chrome, Safari и Firefox, даже с резервным проигрывателем, но в Internet Explorer я вижу ошибку Javascript, видимую здесь: http://d.pr/Jsfo. Кажется, что не загружается мой плакат или мой стиль проигрывателя (который отлично работает в других браузерах).

Код проигрывателя загружается динамически, поскольку он отображается в лайтбоксе и на странице можно воспроизвести несколько видео. Javascript, который внедряет HTML-код, находится внизу страницы

Вы можете увидеть сайт разработки в прямом эфире на http://mindsmack.ryangiglio.com

1 Ответ

10 голосов
/ 31 января 2011

К сожалению, вы не можете динамически вставлять теги HTML5 в IE, потому что это нарушает их вложение

<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();

Кроме того, вы должны удалить HTML-код для вставки <object> внутри тега <video>, поскольку это только в тех случаях, когда у пользователей IE не включен JavaScript, а вашему приложению требуется JavaScript.

...