2012-11-22 13 views
10

Quando ho provato una nuova app MVS di asp.net che ho creato su un'altra macchina, il layout non era corretto e sembrava strano in IE9. Guardando gli Strumenti per gli sviluppatori, la modalità/gli standard sono stati impostati su versioni precedenti e persino sulla modalità di compatibilità. Ho cambiato questo torna a IE9 ed era di nuovo ok.MVC App causa che IE9 utilizza standard precedenti

Ma poi, quando ho riaperto il sito, ho reimpostato questi valori, ci sono dei valori predefiniti che mantengono l'override o la mia app per qualche motivo fa sì che questi valori cambino in versioni precedenti?

+0

prega, smettere di riferimento a "ASP.NET MVC" semplicemente come "MVC". Uno è un quadro, mentre l'altro è un modello di progettazione indipendente dalla lingua.È come chiamare IE - "Internet" –

+0

Sì, mi rendo conto che la cattiva abitudine cambierà. – user1166905

risposta

20

C'è un meccanismo che la famiglia di browser IE utilizza per indovinare quale modalità di rendering sarebbe la migliore. V'è di più la lettura su questo argomento:

X-UA-Compatible is set to IE=edge, but it still doesn't stop Compatibility Mode

Quindi non v'è un modo come dire, quale versione di IE si prendono di mira. Mettete questo tag html come il primo (in realtà il primo) nell'elemento <head> dopo che il contenuto <title>

<!DOCTYPE html> 
<html> 
    <head> 
    <title>My Web</title> 
    <meta http-equiv="X-UA-Compatible" content="IE=100" > 
    ... 

dovrebbe essere contain="IE=8" se si prendono di mira IE 8.0, IE = 100 lavorerà per IE 9.0 ++.

Ho letto che questo comportamento non funziona su intranet, ma il mio experinece è diverso. Il punto è che l'elemento <meta> DEVE essere il primo! Il primo mezzo, senza commento prima. Niente solo il primo dopo il titolo.

Per esempio, io fare qualche indagine sul lato server in codice per controllare quale versione si tratta, e mettere la meta relativi al browser - come il primo elemento

+0

Si noti inoltre che IE non utilizzerà questo meta tag sul file locale: /// ... – Jono

8

Come nota in più, è possibile salvare le sostituzioni di compatibilità sul browser locale durante il test.

Da (http://answers.microsoft.com/en-us/ie/forum/ie9-windows_7/ie9-always-rendering-pages-in-ie7-compatibility/c0177b44-3950-e011-8dfc-68b599b31bf5):

Fase 1: Torniamo fuori vista di compatibilità e controllare.

a. Apri Internet Explorer.

b. Clicca sul tasto Alt sulla tastiera. Ora fai clic su Strumenti nel menu bar.

c. Seleziona Impostazioni visualizzazione compatibilità.

d. Rimuovere il segno di spunta per Visualizza tutti i siti Web in Compatibilità Visualizzare e chiudere la finestra Impostazioni visualizzazione compatibilità.

Passaggio 2: ripristinare le impostazioni di Internet Explorer e controllare.

consultare: http://support.microsoft.com/kb/923737 (Questo articolo può anche essere utilizzato per Internet Explorer 9)

+0

Questo ha funzionato per me ... Grazie :-) –

+0

Nessun problema, felice di aiutare :) –

Problemi correlati