判断浏览器类型及操作系统平台不算一个什么难题,但要做到短小精悍,那还是有些难度,看了Ext的代码觉得其代码的优秀之一就是代码的短小精悍,以尽可能精简的代码去实现一些操作。
这里摘录了Ext.js中关于浏览器类型及操作系统平台的代码,这段代码包含了很全面的关于浏览器和操作系统类型判断,而且代码也非常的精简,应该从中好好学习下:
var ua = navigator.userAgent.toLowerCase();
var isStrict = document.compatMode == "CSS1Compat",
isOpera = ua.indexOf("opera") > -1,
isSafari = (/webkit|khtml/).test(ua),
isIE = !isOpera && ua.indexOf("msie") > -1,
isIE7 = !isOpera && ua.indexOf("msie 7") > -1,
isGecko = !isSafari && ua.indexOf("gecko") > -1,
isBorderBox = isIE && !isStrict,
isWindows = (ua.indexOf("windows") != -1 || ua.indexOf("win32") != -1),
isMac = (ua.indexOf("macintosh") != -1 || ua.indexOf("mac os x") != -1),
isLinux = (ua.indexOf("linux") != -1),
isSecure = window.location.href.toLowerCase().indexOf("https") === 0;