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

Источник: webmagazine

Иногда приходится выполнять сценарии 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");

  @*/

@*/


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=16596