html>
<head>
<title>Browser Detection</title>
<script language="Javascript">
var browser = "xxxxxxxxxxxxxxxxxxx"
if (parseInt(navigator.appVersion) >= 5 || navigator.appVersion.indexOf("MSIE 5") != -1) {
browser="DOM";

else if (navigator.userAgent.indexOf("Mozilla/4") != -1)
{
   if (navigator.appName.indexOf("Netscape") != -1)
      browser="NS4";
   if (navigator.appVersion.indexOf("MSIE 4") != -1)
      browser="IE4";
  } 
  else 
  browser="Other";
</script>
</head>
<body>
<h1>Browser Detection Example</h1>
<script language="Javascript">
document.write("browser detected: " + browser + "<br>");
</script>
</body>
</html>

解决方案 »

  1.   

    比较全的:http://fason.nease.net/samples/js/browserversion.html
      

  2.   

    我知道了,因为只有IE支持就会返回数据,而不是IE浏览器则返回未定义信息,只要返回数据就证明是IE浏览器对吗?
      

  3.   

    if(document.all)
     {
        …………
      } document是一个对象,在IE浏览器中,all是这个对象的一个属性。所以document.all是一个已定义的值(实际上它是一个对象)。在要用到布尔值的环境下。一个对象被转换为真。
    在NN浏览器中。all不是document对象的属性。所以document.all返回一个未定义值。这个值在用到布尔值的环境下被转换成假。
    如果你在NN浏览器中为document对象定义一个名为all的属性,那么不可预料的事情就会发生了!!!