Вопрос

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

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

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

Это было полезно?

Решение

К сожалению, вы не можете динамически вставить теги 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();

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top