Question

J'utilise MediaElement.js comme mon lecteur vidéo HTML5 pour un site en cours. Il fonctionne très bien dans Chrome, Safari et Firefox, même avec le lecteur de secours, mais dans Internet Explorer je reçois l'erreur Javascript vu ici: http://d.pr/Jsfo . Il ne semble pas être charger mon affiche, ou mon style de joueur (qui fonctionne très bien dans les autres navigateurs).

Le code du joueur est en cours de chargement dynamique, car il apparaît dans une lightbox et il y a plusieurs vidéos qui peuvent être lus sur la page. Le Javascript qui injecte le code HTML est au bas de la page

Vous pouvez voir le site de développement en direct http://mindsmack.ryangiglio.com

Était-ce utile?

La solution

Malheureusement, vous ne pouvez pas insérer dynamiquement HTML5 balises dans IE car il brise leur imbrication

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

devient

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

Et puis MediaElement.js ne peut pas savoir où les fichiers source sont.

Ma recommandation serait de mettre une étiquette <video> dans un endroit permanent sur la page, puis préparer un objet MediaElement

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

et puis quand vous êtes prêt à jouer une vidéo, juste appeler

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

En outre, vous devez supprimer le <object> HTML intégrer dans la balise <video> puisque c'est seulement pour les cas où les utilisateurs IE ne supporte pas Javascript, et votre application nécessite JavaScript.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top