J'utilise le code suivant pour obtenir la version de IE dans un système. Mais la version obtient toujours 4 dans IE^et IE7. Comment puis-je obtenir la version exacte?Obtenir la version du navigateur IE en utilisant Javascript
Répondre
Il est généralement pas une bonne idée d'utiliser la détection de version - en fait, même la détection navigateur n'est pas recommandé! Au lieu de cela, essayez object detection.
Essayez quelque chose comme ceci:
<script language="javascript">
Event.observe(window, 'load', function() {
var el = $("browserName");
var BO = detectBrowser();
if(BO.ie6){
el.innerHTML = "<b>We do not support IE6. Please click <a href=\"http://www.microsoft.com/windows/downloads/ie/getitnow.mspx\">here</a> to upgrade.</b>";
}else{
el.innerHTML = "<b>Thank You for not running IE6.</b>";
}
});
</script>
D'où provient le 'Event.observe'? – Sauron
Vous avez 4 à cause de navigator.appVersion les chaînes commencent par 4.0 comme ceci.
4.0 (compatible; MSIE 6.0; Windows NT 5.0; ...)
Si vous le faites comme ça, vous obtiendrez MSIE 6.0
pour le cas ci-dessus
alert(navigator.appVersion.match(/MSIE [\d.]+/))
Si vous ne souhaitez que 6.0
vous pouvez faire comme
alert(navigator.appVersion.match(/MSIE ([\d.]+)/)[1])
La fonction ci-dessous Isie retours Version IE si IE est détecté ailleurs renvoie FALSECe code est basé sur the answer here par weroro.
C'est vraiment une bonne technique. Mais y a-t-il des problèmes de performance? – Sauron
Je suis assez sûr qu'il n'y en a pas. C'est, si je comprends bien, une «meilleure pratique». –
Et c'est certainement plus rapide que tout ce qui implique des expressions régulières, et probablement aussi le découpage de chaînes. –