如何检测浏览器和操作系统的信息

在实现一个功能时,需从UserAgent中抽取出浏览器和操作系统的信息。

浏览器:

  • Opera
  • Chrome
  • Internet Explorer
  • Safari
  • Firefox

操作系统:

  • Windows
  • iPad
  • iPhone
  • Android
  • Mac OS X
  • Linux

实现方法如下:

function getBrowser() {
    var agent = navigator.userAgent;
    return window.opera ? "Opera"
        : /chrom/i.test(agent) ? "Chrome" 
        : /msie/i.test(agent) ? "Internet Explorer" 
        : /applewebkit/i.test(navigator.appVersion) ? "Safari" 
        : /mozilla/i.test(agent) && !/compatible|webkit/i.test(agent) ? "Firefox" 
        : "";
}
 
function getOS() {
    var agent = navigator.userAgent;
    return /windows/i.test(agent) ? "Windows" 
        : /ipad/i.test(agent) ? "iPad" 
        : /iphone/i.test(agent) ? "iPhone" 
        : /android/i.test(agent) ? "Android" 
        : /mac/i.test(agent) ? "Mac OS X" 
        : /x11/i.test(agent) || /linux/i.test(agent) ? "Linux" 
        : "";
}

需要注意的是,检测顺序敏感。

参考:
* Browser detect
* Detect Mobile Browsers

标签:

  • cc

    这个是怎么做到的?

    • http://sunliwen.com Sun, Liwen

      如代码所示,通过监测浏览器的变量来判断