In un ambiente controllato dal dominio, sto riscontrando che la modalità di compatibilità viene attivata su alcuni client (winXP / Win7, IE8 / IE9) anche quando forniamo tag X-UA, una definizione! DOCTYPE e una risposta "IE = Edge" intestazioni. Questi client hanno la casella di controllo "Visualizza siti Intranet in visualizzazione compatibilità" selezionata. Che è esattamente ciò che sto cercando di ignorare.
La seguente è la documentazione che ho usato per cercare di capire come IE decide di attivare effettivamente la modalità di compatibilità.
http://msdn.microsoft.com/en-us/library/ff406036%28v=VS.85%29.aspx
http://blogs.msdn.com/b/ie/archive/2009/02/16/just-the-facts-recap-of-compatibility-view.aspx
I proprietari dei siti hanno sempre il controllo del loro contenuto. I proprietari dei siti possono scegliere di utilizzare il tag X-UA-Compatible per essere assolutamente dichiarativi su come vorrebbero che il loro sito visualizzi e per mappare le pagine in modalità Standard agli standard IE7. L'utilizzo del tag X-UA-Compatible ha la precedenza sulla Visualizzazione Compatibilità sul client.
Google per "Definire la compatibilità dei documenti" , purtroppo il motore SPAM non mi permette di pubblicare più di 2 URL.
Questa è ASP .NET
un'app Web e include le seguenti definizioni nella pagina master:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
</head>
e web.config
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
Ho usato Fiddler per verificare che l'intestazione venga effettivamente inserita correttamente.
Da quanto mi risulta, con queste impostazioni dovrei essere in grado di sovrascrivere l'impostazione del browser "Visualizza siti intranet in Visualizzazione Compatibilità". Ma a seconda del client, ho scoperto che alcuni di essi attiveranno comunque la modalità di compatibilità. Sembra anche essere a livello di macchina piuttosto che un'impostazione di gruppo di criteri, poiché ottengo risultati diversi anche quando uso con lo stesso set di credenziali su client diversi.
Disabilitare la casella di controllo Impostazioni Visualizzazione Compatibilità fa il trucco. Ma lo scopo effettivo è assicurarsi che l'app venga visualizzata esattamente nello stesso modo indipendentemente dalle impostazioni del client.
Qualche pensiero e cosa potrei mancare? È possibile forzare IE a eseguire sempre il rendering delle pagine senza attivare la modalità Compat?
Grazie mille,
Jaume
PS: il sito è attualmente in fase di sviluppo e ovviamente non è nell'elenco di compatibilità di Microsoft, ma l'ho anche controllato per ogni evenienza.
Google per "Capire l'elenco di visualizzazione di compatibilità" , purtroppo il motore SPAM non mi consente di pubblicare più di 2 URL.