<script language="JavaScript">  
    <!--  
function getOs()  
{  
    var OsObject = ""; 
    if(isSafari=navigator.userAgent.indexOf("Safari")>0) {  
        return "Safari";  
   } 
   if(navigator.userAgent.indexOf("MSIE")>0) {  
        return "MSIE";  
   }  
   if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){  
        return "Firefox";  
   }  
      
   if(isCamino=navigator.userAgent.indexOf("Camino")>0){  
        return "Camino";  
   }  
   if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){  
        return "Gecko";  
   }  
    
}  
 alert("您的浏览器类型为:"+getOs());  
    -->  
</script> 我是用这样的方法来判断浏览器的种类
但是我发现了一个问题了 我用Chrome浏览器的时候,显示的也是Safari了,我修改了,加上了
 if(isChrome=navigator.userAgent.indexOf("Chrome")>0){  
        return "Chrome";  
   }  
也能显示 Chrome 怎么在Chrome 的userAgent有Safari 了 
他们是怎么个关系了,
也不知道Safari里,有没有Chrome了我这样判断有什么问题了,有什么更好的方法吗?????

解决方案 »

  1.   

    我用的这个,李战老师写的...
    function checkBrowser(){
    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 (window.MessageEvent && !document.getBoxObjectFor)
    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];
    }