Если вы действительно хотите быть уверенным, что используете IE и определенную версию, тогда вы, очевидно, можете использовать условные теги IE, чтобы запускать только определенный код в IE. Это не очень красиво, но, по крайней мере, вы можете быть уверены, что это действительно IE, а не какая-то поддельная версия.
<script>
var isIE = false;
var version = -1;
</script>
<!--[if IE 6]>
<script>
isIE = true;
version = 6
</script>
<![endif]-->
<!--[if IE 7]>
<script>
isIE = true;
version = 7
</script>
<![endif]-->
Это довольно очевидно. В IE6 isIE
равно true
и version
равно 6
, в IE7 isIE
равно true
и version
равно 7
в противном случае isIE
равно ложному и version
равно -1
В качестве альтернативы вы можете просто развернуть свое собственное решение, используя код, плагинализованный из jQuery.
var userAgent = navigator.userAgent.toLowerCase();
var version = (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1],
var isIE = /msie/.test( userAgent ) && !/opera/.test( userAgent ),