Ho provato i vari metodi suggeriti dall'articolo MSDN allo http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx per quanto riguarda la forzatura di IE9 per emulare una versione precedente con l'intestazione X-UA-Compatible per poter essere visualizzata correttamente.
Nel mio caso, il test riproduce un file video MP4 in un browser IE9 che utilizza la modalità standard predefinita piuttosto che la modalità di compatibilità. Altri siti web hanno detto che Internet Explorer è configurato solo per riprodurre file MP4 (piuttosto che ogg e file video Webm), quindi ho pensato che sarebbe stato il formato di file più sicuro da testare.
Avevo testato la vista della pagina web usando IE9 emulando lo standard IE8 e le viste standard IE7 di quella pagina, ed in entrambi i casi, le vecchie viste standard funzionavano per riprodurre il file video MP4. E la modalità di compatibilità IE9 ha anche giocato quella pagina web. Ma ho costretto l'IE9 a tornare alla visualizzazione standard per testare un codice che avrebbe funzionato per la riproduzione del video per coloro che non avevano configurato il proprio browser IE9 per utilizzare la modalità di compatibilità.
I metodi suggeriti da quell'articolo MSDN cui si fa riferimento in precedenza sembrano essere indirizzati a questo problema, ma nel testare ciascuno di questi metodi, nessuno di essi ha risolto il problema di un browser IE9 che riproduceva un file video MP4.
La soluzione al mio problema è venuto da questo biglietto Stack Overflow: HTML5 Video not working only in IE9
Ho dovuto aggiungere le seguenti righe al file .htaccess sul sito:
AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/mp4 .mov
AddType video/webm .webm
Poi, ho anche bisogno fare in modo che la prima riga di codice utilizzato questo:
<!DOCTYPE html>
... invece di questo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
non ho avuto bisogno di usare qualsiasi codice "versione precedente" come questa:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
Sulla mia pagina di prova, ho anche usato il codice video-js, che avevo assunto sarebbe preso cura di il problema standard IE9 (come per altri browser Web). Il suo proprio codice sembra avere anche in uscita i seguenti codici X-UA-Compatible:
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Tuttavia, questi codici da solo non ha risolto il problema. In definitiva, credo che sia dovuto all'aggiunta del codice al file .htaccess.
Ho provato tutte le modalità di compatibilità del documento, ma ciò non ha alcun impatto sui problemi della pagina. Funziona in realtà solo quando la modalità browser è impostata esplicitamente sulla visualizzazione di compatibilità. –
@FlorianPeschka Ho aggiunto tutti i fattori noti che attivano la modalità di compatibilità: non sono sicuramente facilmente ottenibili e non credo che nessuno vorrebbe usarli apposta, ma sicuramente funzionano. – Razor
Ok. Speravo di evitare di dover eseguire il debug dell'applicazione, ma in questo caso, suppongo che sia l'unica scelta. Grazie per lo sforzo però. –