js判断当前浏览器类型,判断IE浏览器方法

  最短IE判断方法,原文地址: http://www.glzy8.com/article/23621.htm

  

  判断IE浏览器最短方法:var isIE = !-[1,]

  原理:[1,]在标准浏览器中返回"1",相当于调用[1,].toString(),在IE中返回"1,"

  在这个时候对返回值使用负号强制转换为数字时,标准浏览器返回1,IE则返回NaN,

  再对1和NaN取反时,标准浏览器返回false,IE返回true。

  js判断浏览器类型

  原文基本上没有什么问题,但他的判断方式还不是很严谨。

  如:navigator.userAgent.indexOf("Safari")>0,如果"Safari"这个单词出现在userAgent的最前端,那不是就无法得到正确的结果了。应该把 >0 改为 !=-1

  然后我对我机子上现有的5个独立内核浏览器做了下测试,发现Opera的userAgent值为"Opera/9.80 (Windows NT 5.1; U; Ed..."

  正好印证了刚刚说的。

  其实大多时候我们在做浏览器兼容时主要是针对 IE 和 非IE 浏览器,也就是说一般情况下只需要判断是否是IE浏览器即可。

  判断当前浏览器类型代码

  

复制代码 代码如下:

  <script type="text/javascript" >

  <!--

  function getOs()

  {

  var OsObject = "";

  if(isIE = navigator.userAgent.indexOf("MSIE")!=-1) {

  return "MSIE";

  }

  if(isFirefox=navigator.userAgent.indexOf("Firefox")!=-1){

  return "Firefox";

  }

  if(isChrome=navigator.userAgent.indexOf("Chrome")!=-1){

  return "Chrome";

  }

  if(isSafari=navigator.userAgent.indexOf("Safari")!=-1) {

  return "Safari";

  }

  if(isOpera=navigator.userAgent.indexOf("Opera")!=-1){

  return "Opera";

  }

  }

  alert("type -> "+getOs());

  -->

  </script>