Различают IE 8.0.6001.x и 8.0.7600.x - PullRequest
1 голос
/ 24 января 2012

Мне нужно различать IE 8.0.6001.x и IE 8.0.7600.x.Я нашел этот JS , но он почему-то не работает для меня:

function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
var rv = -1; // Return value assumes failure.
if (navigator.appName == 'Microsoft Internet Explorer')
{
var ua = navigator.userAgent;
var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null)
  rv = parseFloat( RegExp.$1 );
}
return rv;
}
function checkVersion()
{
var msg = "You're not using Internet Explorer.";
var ver = getInternetExplorerVersion();

if ( ver > -1 )
{
if ( ver >= 8.0 ) 
  msg = "You're using a recent copy of Internet Explorer."
else
  msg = "You should upgrade your copy of Internet Explorer.";
}
alert( msg );
}

1 Ответ

2 голосов
/ 24 января 2012

Мне не удалось получить полный номер версии, но я смог различить по операционной системе (XP против Windows 7).Не стесняйтесь улучшать мой JS.

<script type="text/javascript">
function getIEversion() {
    var version = 999; // we assume a sane browser
    if (navigator.appVersion.indexOf("MSIE") != -1) {
        // bah, IE again, lets downgrade version number
        version = parseFloat(navigator.appVersion.split("MSIE")[1]);
        var os = parseFloat(navigator.appVersion.split("Windows NT")[1]); // 5.1 XP, 6.1 Win 7
        // return version;
        if ( version == 8 && os == 5.1 ) {
            document.write('<link href="ie8.css" rel="stylesheet" type="text/css" />');
        }
    }
}

</script>

<!--[if IE 8]>
    <script>getIEversion();</script>
<![endif]-->
...