使用javascript检测浏览器类型

时间:2010-03-22 06:57:47

标签: javascript internet-explorer firefox

我正在尝试使用此行来检测浏览器类型:IE或Firefox。

alert(isBrowser("Microsoft"));

但我什么都没得到,警报甚至没有弹出。不知道我做错了什么。

检测浏览器类型的最佳做法是什么?

8 个答案:

答案 0 :(得分:9)

我希望这会有所帮助:

http://www.quirksmode.org/js/detect.html

(这是一个很长的脚本,所以我不想在这里发布)

答案 1 :(得分:8)

试试这个:

alert(navigator.appName);

答案 2 :(得分:4)

我认为jQuery在支持testing for features而不仅仅是浏览器时才能做到正确。

答案 3 :(得分:3)

对于MSIE检测,您可以使用JavaScript:

   // This function returns Internet Explorer's major version number,
   // or 0 for others. It works by finding the "MSIE " string and
   // extracting the version number following the space, up to the decimal
   // point, ignoring the minor version number
   <SCRIPT LANGUAGE="JavaSCRIPT">
   function msieversion()
   {
      var ua = window.navigator.userAgent
      var msie = ua.indexOf ( "MSIE " )

      if ( msie > 0 )      // If Internet Explorer, return version number
         return parseInt (ua.substring (msie+5, ua.indexOf (".", msie )))
      else                 // If another browser, return 0
         return 0

   }
   </SCRIPT>

以下是如何在html中的任何位置调用它的示例:

<SCRIPT LANGUAGE="javascript">
   if ( msieversion() >= 0 )

      document.write ( "This is Internet Explorer" );

   else

      document.write ( "This is another browser" );

   </SCRIPT>

http://support.microsoft.com/kb/167820 http://support.microsoft.com/kb/167820

答案 4 :(得分:1)

关于这方面的一篇非常好的文章来自Quirksmode:http://www.quirksmode.org/js/support.html

'lajuette'提供的脚本很好,但它不会让你变得更聪明。同一作者解释了他在上述链接中的脚本背后的想法,基本上他说的是:

  • 关于浏览器检测
  • 关于 对象检测
  • 这可以了解使用哪种浏览器。

答案 5 :(得分:0)

This is basic for browser type detection 但是从这个小代码中很难理解出现了什么问题....你可以添加一些有用的isBrowser()体。

答案 6 :(得分:-1)

function whereUWantToDetectBrowser(){
        if (navigator.appName == "Microsoft Internet Explorer")
        intExp();
        else
        other();

}
function intExp(){
        //do what you want to do for specifically Internet Explorer
}
function other(){
        //do what you want to do for other browsers
}

此代码解决了这个问题。如果您在那里编写特定代码,而不是从whereUWantToDetectBrowser()调用函数,这将导致错误。代码将无法运行。因为浏览器会检测到必须运行的代码(特定于每个浏览器)。如果您区分代码意味着代码在某些浏览器中不起作用,那么您希望专门为这些浏览器编写代码。 因此,other()在IE中无效,因为intExp()在其他浏览器中无效。

答案 7 :(得分:-2)

找到IE的浏览器类型的最佳和最短的方法是.. U可以对其他浏览器类型执行相同的操作

if (navigator.appName == "Microsoft Internet Explorer"){

// Ur piece of validation 

}