Frage

Ich verwende MediaElement.js als meinen HTML5 -Videoplayer für eine laufende Site. Es funktioniert gut in Chrome, Safari und Firefox, selbst mit dem Fallback -Spieler, aber im Internet Explorer erhalte ich den JavaScript -Fehler hier: http://d.pr/jsfo. Es scheint weder mein Poster noch meinen Player -Stil (was in den anderen Browsern gut funktioniert) zu laden.

Der Code des Spielers wird dynamisch geladen, da er in einer Leuchtkiste angezeigt wird und mehrere Videos auf der Seite abgespielt werden können. Das JavaScript, das die HTML injiziert

Sie können die Entwicklungsseite live sehen http://mindsmack.ryangiglio.com

War es hilfreich?

Lösung

Leider können Sie HTML5 -Tags nicht dynamisch in IE einfügen, weil es ihre Verschachtelung bricht

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

wird

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

Und dann kann MediaElement.js nicht herausfinden, wo sich die Quelldateien befinden.

Meine Empfehlung wäre, eine zu setzen <video> Tag an einem dauerhaften Ort auf der Seite und bereiten Sie dann ein Medienelementobjekt vor

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

Und dann, wenn Sie bereit sind, ein Video zu spielen, rufen Sie es einfach an

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

Außerdem sollten Sie die entfernen <object> HTML in die <video> Tag, da dies nur für Fälle gilt, wenn IE -Benutzer JavaScript nicht aktiviert haben und Ihre App JavaScript benötigt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top