Javascript检测浏览器类型以及操作系统

     Javascript高级程序设计》是一本深入介绍js的一本好书,第八章 “浏览器和操作系统” 介绍的是用Javascript检测浏览器的类型和版本、检测操作系统的类型和版本的方法。书上最后总结出了一个可以作为公用的基本js库,个人觉得有用,于是将其收藏(输入形成js文件并且调试多次、并且修改少量代码)。

     这种检测其实就是主要根据window.navigator.userAgent的值来判断浏览器类型和版本。

     具体的注释在文件中:

     点此下载detect.rar

    上面的检测方法有些时候显得有些多余,我们很多时候仅仅需要知道浏览器的类型,除了IE而外,也不需要关心过多的版本问题。在Prototype 1.6中有比较简单的方法,在Prototype中的代码如下:

 

var Prototype = {
  Version: 
'1.6.0.2',

  Browser: {
    IE:     
!!(window.attachEvent && !window.opera),
    Opera:  
!!window.opera,
    WebKit: navigator.userAgent.indexOf(
'AppleWebKit/'> -1,
    Gecko:  navigator.userAgent.indexOf(
'Gecko'> -1 && navigator.userAgent.indexOf('KHTML'== -1,
    MobileSafari: 
!!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
  },
  
//
}

 

 

    这种方法用“对象检测法”和userAgent结合来区别各种浏览器。”!!”的作用是把对象转变成Boolean类型,对象存在即为true,不存在即为false。相比之下,这种方法更为简洁。自己改了一下命名,以便和之前的完整版本兼容。

    点此下载detect-simple.rar

posted @ 2008-08-07 23:28  LongWay  阅读(1469)  评论(0编辑  收藏  举报