Как определить режим рендеринга браузера для текущей страницы?
-
05-07-2019 - |
Вопрос
Я знаю, что современные браузеры обычно имеют два режима рендеринга:стандартный режим и необычный режим.Браузер обнаруживает заголовок DocType.
Вопрос в том, как определить режим рендеринга текущей страницы во время выполнения.Есть ли какой-нибудь инструмент Firebug для этого?
Решение
До IE8:
alert('Page was rendered in ' +
((document.compatMode == 'CSS1Compat') ? 'Standards' : 'Quirks') + ' Mode.');
Для 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);
Имейте в виду, что для получения преимуществ нового стандартного режима IE8 по умолчанию " поведение, которое вам нужно будет отображать в режиме стандартов IE8.
Этот режим влияет на отображение ваших HTML + CSS , а также исправляет такие методы JavaScript , как document.getElementById (id);
и .setAttribute ( имя, значение);
Другие советы
Вам также следует взглянуть на jQuery jQuery.support.Он расскажет вам, какие стандарты поддерживаются браузером (boxModel, opacity и т. д.).
http://docs.jquery.com/Utilities/jQuery.support
то есть
jQuery.support.boxModel; //false in IE when in quirksmode, true otherwise.