Come la Compatibility View in IE funziona dietro le quinte

5

Quando eseguo la connessione remota al mio PC di lavoro, in IE10, il servizio client remoto di juniper, che in pratica è un plug-in eseguito nel browser, non viene eseguito. Devo attivare la visualizzazione di compatibilità per vederlo. La mia domanda è cosa sta succedendo esattamente dietro le quinte nella visualizzazione della compatibilità in modo tale che un numero così elevato di problemi di compatibilità possa essere risolto con esso? Che cosa hanno fatto ... creare un elenco di API deprecate che funzionavano correttamente in ie8 ma deprecate in ie10 e quindi facendo clic su visualizzazione compatibilità, quelle API sono supportate di nuovo?

    
posta Kaushik 11.04.2013 - 21:11
fonte

1 risposta

6

Fondamentalmente, IE tenta di trovare la migliore modalità di compatibilità prima di rendere la pagina con la versione più recente del suo motore, IE10 nel tuo caso. Ma prima, IE più o meno segue il flusso dato:

  1. Verifica se c'è il meta-tag nell'intestazione della pagina: <meta http-equiv="X-UA-Compatible" content="IE=IEX" /> , dove "X" è 7, 8 o 9. Quando una pagina include questo meta, indica a IE di visualizzarlo con < modalità strong> standard della versione del browser specificata, il che significa che utilizzerà il motore standard di quella versione.
  2. Verifica se il contenuto di questo meta-tag è qualcosa come <meta http-equiv="X-UA-Compatible" content="IE=EmulateIEX" /> , agian, dove "X" è 7, 8, 9. Questa istruzione serve a visualizzare la pagina con la modalità di compatibilità del browser specificato. La differenza dalla modalità standard è che qui in pratica gli dici di usare il motore di compatibilità di quella versione. Può essere utile se vuoi visualizzare una pagina come se fosse Internet Explorer 5.5, specificando (IE = Emulate7), poiché la modalità di compatibilità IE7 ha reso possibile la visualizzazione di vecchie pagine legacy progettate per IE 5.5
  3. Se non viene trovato nessun meta tag X-UA-Compatible , il browser visualizza la pagina con il motore più recente, A MENO CHE tu abbia scelto esplicitamente di caricarlo in modalità compatibilità ... Penso che sia il tuo caso, perché diciamolo 99.999999999999999999% di% web le pagine non specificano alcuna modalità di compatibilità: -)

Per riassumere, IE utilizza la modalità standard del motore specificato, O emula completamente il rendering della pagina con un motore precedente, consentendo così la visualizzazione corretta delle pagine legacy. Poiché utilizzano un motore diverso, potrebbe spiegare perché un plug-in funziona in un caso e non in un altro.

Per informazioni molto più dettagliate, consulta l'articolo MSDN su questo argomento .

Modifica: rilevato che praticamente la stessa domanda è disponibile in Pro Webmaster SE !

    
risposta data 12.04.2013 - 20:54
fonte