2009-03-08 15 views

Odpowiedz

22

Przed IE8:

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

Dla 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); 

Należy pamiętać, że aby zdobyć benifits nowej IE8 w "trybie standardowym domyślnie" zachowanie musisz być renderowania w IE8 Tryb standardów.

Tryb ten wpływa na sposób renderowania HTML + CSS jak również poprawki do JavaScript metod jak document.getElementById(id); i .setAttribute(name, value);

+1

Tip: Tworzenie ulubiony stosując następujący kod jako URL: _javascript : (function() {var vMode = document.documentMode; var rMode = 'Tryb IE5 Quirks Mode'; if (vMode == 8) {rMode = 'Tryb standardów IE8';} else if (vMode == 7) {rMode = "Tryb ścisły IE7";} alert ("Renderowanie w:" + rMode);})(); _ Jeśli utworzyłeś swój ulubiony za pomocą tego kodu, możesz nam e to jak "wykryj tryb renderowania". Tylko klikając na niego otrzymasz komunikat. – SimonSimCity

+0

@SimonSimCity Zabawne, że powinieneś o tym wspomnieć - to jest dokładnie to, co mam oprócz mojego nazywa się "Tryb renderowania" – scunliffe

+0

, ale co z IE 9 i IE 10? Dlaczego nie wystarczy spojrzeć na 'document.compatMode', aby sprawdzić, czy jest to' BackCompat' (tryb Quirks) lub 'CSS1Compat' (tryb zgodności Standardowej) –

1

Należy również spojrzeć na jQuerys jQuery.support. powie to, jakie standardy są obsługiwane przez przeglądarkę (boxModel, krycie, etc.)

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

tj

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

Ta właściwość została usunięta w jQuery 1.8. – chris

Powiązane problemy