论坛首页 Web前端技术论坛

有趣的浏览器检测

浏览 15054 次
精华帖 (0) :: 良好帖 (10) :: 新手帖 (19) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-03-03  
rainsilence 写道

var ua = navigator.userAgent.toLowerCase(),
    check = function(r){
            return r.test(ua);
    },
    isOpera = check(/opera/),
    isChrome = check(/\bchrome\b/),
    isWebKit = check(/webkit/),
    isSafari = !isChrome && check(/safari/),
    isSafari2 = isSafari && check(/applewebkit\/4/),
    isSafari3 = isSafari && check(/version\/3/),
    isSafari4 = isSafari && check(/version\/4/),
    isIE = !isOpera && check(/msie/),
    isIE7 = isIE && check(/msie 7/),
    isIE8 = isIE && check(/msie 8/),
    isIE6 = isIE && !isIE7 && !isIE8,
    isGecko = !isWebKit && check(/gecko/),
    isGecko2 = isGecko && check(/rv:1\.8/),
    isGecko3 = isGecko && check(/rv:1\.9/),
    isBorderBox = isIE && !isStrict,
    isWindows = check(/windows|win32/),
    isMac = check(/macintosh|mac os x/),
    isAir = check(/adobeair/),
    isLinux = check(/linux/)

简洁,简单

Ext 的UA嗅探确实简洁明了。特性检测肯定是最无敌的招数。但是结果就是代码里充斥着各种If, Else.值不值得呢?是个问题。
0 请登录后投票
   发表时间:2010-03-03  
第三种方法确实让人眼前一亮,是非常俏皮的技巧。
但是效果正如CSS hack,还是少用的好。
0 请登录后投票
   发表时间:2010-03-06  
还是用常规的比较好,最简洁的不一定是最好的
0 请登录后投票
   发表时间:2010-08-27  
个人感觉这些方法都或多或少有点小问题,有没有一种很好的方法呢,能写一个通用的检测方法。
0 请登录后投票
   发表时间:2010-10-13  
不错,thanks
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics