2012-01-23 20 views
1

IE 8.0.6001.xとIE 8.0.7600.xを区別する必要があります。私はthis JSを見つけましたが、それはいくつかの理由のために私のために動作していない:IE 8.0.6001.xと8.0.7600.xを区別する

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

8.0.6と8.0.76の間には大きな違いがありますか?私は8.0.6でJSエラーのトンを得ているクライアントとの問題に気付いています...勝つXP、それを修正する方法はありません –

答えて

2

は、私は完全なバージョン番号を取得することができませんでしたが、オペレーティングシステム(Windows 7の対XP)によって区別することができました。私の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]-->