2009-03-08 13 views

risposta

22

Prima IE8:

alert('Page was rendered in ' + 
    ((document.compatMode == 'CSS1Compat') ? 'Standards' : 'Quirks') + ' Mode.'); 

per IE8:

var vMode = document.documentMode; 
var rMode = 'IE5 Quirks Mode'; 
if(vMode == 8){ 
    rMode = 'IE8 Standards Mode'; 
} else if(vMode == 7){ 
    rMode = 'IE7 Strict Mode'; 
} 
alert('Rendering in: ' + rMode); 

essere consapevoli del fatto che per ottenere i benifits di nuovo IE8 "modalità standard di default" il comportamento è necessario essere il rendering in IE8 Modalità standard.

Questa modalità influenza il rendering del codice HTML + CSS così come le correzioni a JavaScript metodi come document.getElementById(id); e .setAttribute(name, value);

+1

Suggerimento: creare un preferito utilizzando il seguente codice come url: _javascript : (function() {var vMode = document.documentMode; var rMode = 'IE5 Quirks Mode'; if (vMode == 8) {rMode = 'IE8 Standards Mode';} else if (vMode == 7) {rMode = 'IE7 Strict Mode';} alert ('Rendering in:' + rMode);})(); _ Se hai creato il tuo preferito usando questo codice puoi nominare e mi piace "rilevare modalità di rendering". Solo facendo clic su di esso si otterrà la finestra del messaggio. – SimonSimCity

+0

@SimonSimCity divertente dovresti dirlo - questo è esattamente quello che ho tranne il mio chiamato "Render Mode" – scunliffe

+0

ma che dire di IE 9 e IE 10? Perché non dare un'occhiata a 'document.compatMode' per vedere se è' BackCompat' (modalità Quirks) o 'CSS1Compat' (modalità Standard Compliant) –

1

Si dovrebbe anche dare un'occhiata a jQuerys jQuery.support. Vi dirà quali standard sono supportati dal browser (boxModel, opacità, ecc)

http://docs.jquery.com/Utilities/jQuery.support

cioè

jQuery.support.boxModel; //false in IE when in quirksmode, true otherwise. 
+0

Questa proprietà è stata rimossa in jQuery 1.8. – chris