使用Javascript判断浏览器和操作系统类型:全面简洁的方法

前端开发中,经常需要判断浏览器或系统类型,以解决兼容性问题。

使用Javascript判断浏览器和操作系统类型是一件很容易的事情,但如何最全面、最简单的做出判断,是不容易的,本文从Ext 2.2.1中摘录了其判断方法,这是一种目前最全面最简洁的方法,包含了最新的IE8、Chrome浏览器、Air浏览的判断,下面是代码,并且包含了注释:


var ua = navigator.userAgent.toLowerCase();
var isStrict = document.compatMode == "CSS1Compat", // 是否定义DOCUMENT类型

    isOpera = ua.indexOf("opera")>-1, // 是Opera
    isChrome = ua.indexOf("chrome")>-1, //是Chrome
    isSafari = !isChrome&&(/webkit|khtml/).test(ua), //是Safari
    isSafari3 = isSafari&&ua.indexOf("webkit/5")! = -1, // Safari3
    isIE = !isOpera&&ua.indexOf("msie")>-1, //IE6
    isIE7 = !isOpera&&ua.indexOf("msie 7")>-1, // IE7
    isIE8 = !isOpera&&ua.indexOf("msie 8")>-1, //IE8
    isGecko = !isSafari&&!isChrome&&ua.indexOf("gecko")>-1, // Gecko内核
    isGecko3 = isGecko&&ua.indexOf("rv:1.9")>-1, // Gecko3内核
    isBorderBox = isIE&&!isStrict, // 使用盒模型
    isWindows = (ua.indexOf("windows")! = -1||ua.indexOf("win32")! = -1), // 是Windows系统
    isMac = (ua.indexOf("macintosh")! = -1||ua.indexOf("mac os x")! = -1), // 是MacOS系统
    isAir = (ua.indexOf("adobeair")! = -1), // 是用Adobe Air浏览
    isLinux = (ua.indexOf("linux")! = -1), // 是Linux系统
    isSecure = window.location.href.toLowerCase().indexOf("https") === 0;  // 是SSL浏览
posted @ 2009-06-01 14:27  PointNet  阅读(2159)  评论(0编辑  收藏  举报