使用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浏览 |