关于‘Javascript’

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

发表于2011年11月11日

在实现一个功能时,需从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

分析PrototypeJS

发表于2006年1月16日

比较优秀的两个PrototypeJS注解

http://www.sergiopereira.com/articles/prototype.js.html
https://compdoc2cn.dev.java.net/prototype/html/prototype.js.cn.html