Domanda

Sto usando MediaElement.js come il mio lettore video HTML5 per un sito in corso. Funziona bene in Chrome, Safari e Firefox, anche con il Fallback Player, ma in Internet Explorer ottengo l'errore JavaScript visto qui: http://d.pr/jsfo. Non sembra caricare il mio poster o il mio stile del giocatore (che funziona bene negli altri browser).

Il codice del giocatore viene caricato in modo dinamico, perché appare in un lightbox e ci sono più video che possono essere riprodotti sulla pagina. Il JavaScript che inietta l'HTML è in fondo alla pagina

Puoi vedere il sito di sviluppo in diretta a http://mindsmack.ryangiglio.com

È stato utile?

Soluzione

Sfortunatamente, non è possibile inserire dinamicamente i tag HTML5 in IE perché rompe la loro nidificazione

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

diventa

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

E quindi MediaElement.js non è in grado di capire dove si trovano i file di origine.

La mia raccomandazione sarebbe quella di mettere a <video> Tag in un punto permanente sulla pagina, quindi preparare un oggetto mediaelement

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

E poi quando sei pronto a riprodurre un video, chiamalo e basta

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

Inoltre, dovresti rimuovere il <object> incorporare html all'interno del <video> Tag poiché questo è solo per i casi in cui gli utenti IE non hanno abilitato JavaScript e la tua app richiede JavaScript.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top