Mediaelement.js Errore JavaScript in IE
-
27-10-2019 - |
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
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.