日期:2014-05-16  浏览次数:20399 次

javascript判断浏览器的问题
昨天写了段javascript判断浏览器的脚本,在自己机器上ie6,7,8,360浏览器,火狐,谷歌,遨游,腾讯TT,safari,opera,搜狗告诉浏览器都通过了,但是给别人测试的时候说没通过,请大家帮我测试分析下,另外,请教怎么用js判断世界之窗浏览器,其agent信息和IE完全一模一样,不知道怎么判断
HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript"> 
function getbrowser(){
    if(navigator.userAgent.indexOf("Firefox")>0)
    {
     alert("你用的是火狐浏览器");
    }
    else
    {
        if(navigator.userAgent.indexOf("Maxthon")>0||navigator.appName != "Microsoft Internet Explorer")
        {
            
            if(navigator.userAgent.indexOf("Chrome")>0)
            {
             alert("你用的是谷歌浏览器");
            }
            else
            {
                if(navigator.userAgent.indexOf("Safari")>0)
                {
                 alert("你用的是Safari");
                }
                else
                {
                    if(navigator.userAgent.indexOf("Opera")>=0)
                    {
                     alert("你用的浏览器是Opera");
                    }
                    else
                    {
                    alert("你用的是遨游浏览器");
                    }
                }
            }
            
        }
        else
        {
             if(navigator.appName == "Microsoft Internet Explorer")    
            {    
                if(navigator.appVersion.match(/6./i)=='6.')    
                {
                    alert("你的IE浏览器版本太老了,换个新的吧");  
                 } 
                 else
                {
                    if(navigator.appVersion.match(/7./i)=='7.')
                    {
                        if(navigator.userAgent.indexOf("360SE")>0){
                         alert("你用的是360浏览器");
                        }
                        else
                        {
                            if(navigator.userAgent.indexOf("TencentTraveler")>0)
                            {
                             alert("你用的是TT");
                            }
                            else
                            {
                                if(navigator.userAgent.indexOf("SE")>0){
                                 alert("你用的是搜狗浏览器");
                                }
                                else
                                {
                                alert("你用的是IE7");
                                }
                            }
                        }
                    }
                    else
                    {
                        alert("你的IE既不是6,也不是7,那应该是8了,或者是过时了10年的5.5");
                    }
                }
            }  
        }
    }



if(navigator.userAgent.indexOf("TheWorld")>0){
     alert("世界之窗浏览器");
}


}
</script> 
</head>

<body onload="getbrowser()">
</body>
</html>



------解决方案--------------------
JScript code

function detectBrower()   
...{    
    var sUserAgent = navigator.userAgent;    
    var isOpera = sUserAgent.indexOf("Opera") > -1;   
    if(isOpera) return "Opera";   
    var isKHTML = sUserAgent.indexOf("KHTML") > -1 || sUserAgent.indexOf("Konqueror") > -1 || sUserAgent.indexOf("AppleWebKit") > -1;   
    var isSafari = sUserAgent.indexO