Как обнаружить Internet Explorer 7 и не только...

Иногда приходится выполнять сценарии javascript специфичные для какого-то браузера. Например обьект XMLHttpRequest() начал поддерживаться в Internet Explorer 7:

if (window.XMLHttpRequest) { if(document.epando){ // IE 7 } else { //Mozilla/Firefox, Safari, Opera 9 } } else { // IE6, older browsers }

В этом сценарии мы можем использовать встроенный обьект XMLHttpRequest() для IE7, Mozilla/Firefox, Safari, Opera 9, а для IE 6 подсунуть обьект ActiveXObject('Msxml2.XMLHTTP'). Следующий трюк можно использовать для задания свойства minwidth (maxheight) для "правильных браузеров", а IE 6 можно подсунуть свойство width (height):

if (typeof document.body.style.minWidth != "undefined"){ // IE 7, Mozilla/Firefox, Safari, Opera 9 } else { // IE6, older browsers }

Как-то мне понадобилось подключить к IE 6 специальную таблицу стилей, проблема была решена использованием условных комментариев.

<!--[if IE 6]--> <script> isIE7 = true; </script> <!--[endif]-->

В IE7 появилась поддержка JScript 5.6, поэтому с помощью conditional compilation, мы можем подсунуть ему специфический сценарий:

/*@cc_on /*@if (@_jscript_version > 5.6) document.write("Internet Explorer 7"); @*/ @*/
Поделись с друзьями:
Комментарии
<!--[if IE 6]--> <script> isIE7 = true; </script> <!--[endif]-->

В вашем примере записано неправильно, по указанной сразу за примером ссылке можно найти верный код:

<!--[if IE]> Вы используете IE5 и выше! <![endif]-->