<html>
<body><script type="text/javascript">
var browser=navigator.appName;
var b_version=navigator.appVersion;
var version=parseFloat(b_version);document.write("Browser name: "+ browser);
document.write("<br />");
document.write("Browser version: "+ version);
</script></body>
</html>这段代码,在chrome 2 和ff3.5下运行都是显示Netscape 4。在ie 8下是显示4.
怎样才能显示正确的信息。谢谢

解决方案 »

  1.   

    var ua=navigator.userAgent;
    var r=ua.indexOf("Chrome");
    if(r>-1) {
    var v=ua.substring(r,ua.indexOf(" ",r));
    alert(v);
    } else {
    alert("不是Chrome浏览器");
    }
      

  2.   

    网上搜了一下,但测试新的chrome是检测不了的,所以我改用navigator.vendor来判断var Sys = {};
            var ua = navigator.userAgent.toLowerCase();
            if (window.ActiveXObject)
                Sys.ie = ua.match(/msie ([\d.]+)/)[1]
            else if (document.getBoxObjectFor)
                Sys.firefox = ua.match(/firefox\/([\d.]+)/)[1]
            else if (navigator.vendor=="Google Inc.")//!document.getBoxObjectFor&& window.MessageEvent 这条件已经不行了
                Sys.chrome = ua.match(/chrome\/([\d.]+)/)[1]
            else if (window.opera)
                Sys.opera = ua.match(/opera.([\d.]+)/)[1]
            else if (window.openDatabase)
                Sys.safari = ua.match(/version\/([\d.]+)/)[1];
            
            //以下进行测试
            if(Sys.ie) alert('IE: '+Sys.ie);
            if(Sys.firefox) alert('Firefox: '+Sys.firefox);
            if(Sys.chrome) alert('Chrome: '+Sys.chrome);
            if(Sys.opera) alert('Opera: '+Sys.opera);
            if(Sys.safari) alert('Safari: '+Sys.safari);