本文通过一段 JavaScript 代码示例,展示如何利用逻辑与(&&)和逻辑或(||)操作符的短路特性,简洁地实现浏览器类型检测。代码遍历 navigator.userAgent 字符串,匹配特定浏览器标识并返回对应的数字代号,适用于需要快速判断 IE6 至 IE8、Firefox、Chrome 等主流浏览器版本的场景。
JavaScript 浏览器检测与逻辑操作符实战解析
代码如下:
var $mfunc = function() {
return {
// 此函数用于判断浏览器类型,为简化处理,返回一个数字标识,
// 1 代表 IE6;2 代表 IE7;3 代表 IE8;4 代表 IE5.5;5 代表 Firefox;6 代表 Chrome;7 代表 Opera;8 代表 Safari;0 表示无法检测到已知浏览器。
// 其他浏览器可根据需要自行添加对应逻辑
whichOS: function() {
var useragent = navigator.userAgent.toLowerCase();
return (/MSIE 6/i.test(useragent) == true && 1) ||
(/MSIE 7/i.test(useragent) == true && 2) ||
(/MSIE 8/i.test(useragent) == true && 3) ||
(/MSIE 5/i.test(useragent) == true && 4) ||
(/Firefox/i.test(useragent) == true && 5) ||
(/Chrome/i.test(useragent) == true && 6) ||
(/Opera/i.test(useragent) == true && 7) ||
(/Safari/i.test(useragent) == true && 8) || 0
}
}
}() 注意其中的 && 和 || 哦,说明都在注释里