2012-07-17 12 views
8

Sono consapevole di come forzare IE nella visualizzazione di una pagina in compatibilità dei documenti, ma per quanto riguarda la compatibilità del browser vista?Forza IE9 nel browser vista di compatibilità

Ho un progetto che funziona solo quando IE9 è in browser visualizzazione compatibilità per vari motivi, ma non riesco a trovare risorse su come forzare IE9 a farlo.

Tutti parlano solo della forzatura della compatibilità del documento , ad es. utilizzando

<meta http-equiv="X-UA-Compatible" content="IE=8" /> 

Ma che non funziona nel mio caso, perché stabilisce solo la vista del documento . C'è un modo per impostare anche la vista del browser ?

PS: Per rendere più evidente, questa è l'impostazione che ho bisogno di far rispettare:

Browser Compatibility http://img513.imageshack.us/img513/8589/browsercomp.png

risposta

8

Vedi MSDN documentation.
Si dovrebbe usare EmulateIE7 poiché la modalità di compatibilità è tipo di IE7:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"> 

Modifica

Se quanto sopra non funziona, il other options sono davvero poveri.
Citando dal link qui sopra:

  • Microsoft non ha posto il nome di dominio del sito su una lista nera. (la lista nera collegata nell'articolo originale è molto vecchia e non viene aggiornata, puoi trovare una copia locale sul tuo computer)
  • Un amministratore intranet non ha posizionato il sito su una lista nera.
  • L'utente non ha premuto il pulsante Visualizzazione Compatibilità (duh)
  • Il sito non si trova nella zona Intranet
  • La pagina non è incorniciato da una pagina di modalità di compatibilità.

Quanto sopra sono, AFAIK, le uniche cause per la modalità di compatibilità.
Se non si è disposti a contattare direttamente Microsoft per aggiungere il proprio sito Web alla blacklist globale, non c'è molto che si possa fare (a meno che non si desideri avvolgere il sito in una cornice proveniente da un dominio nella lista nera).

+0

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à. –

+0

@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

+0

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ò. –

5

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.

1

ho una soluzione per tutti (7,8,9) ovvero Browser

<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js" > </script> 

uso questo script java nel tag head.

+0

[PUOI TROVARE QUI Resto dei link.] (Https://code.google.com/p/ie7-js/) –

+0

Questi link potrebbero non rimanere validi, in quanto Google Code, in particolare i collegamenti diretti, non è garantito di rimanere utilizzabile con i metodi usuali dopo il gennaio 2016, come da "piano di pensionamento" qui riportato: https://code.google.com/p/support/wiki/ReadOnlyTransition –