转:浏览器的用户代理字符串

每个浏览器都有它自己的用户代理(user agent)字符串,里面包含了浏览器和操作系统等信息。通过使用这个字符串,我们可以处理跨浏览器的差异。用户代理字符串保存在 navigator.userAgent 变量中,一些常见浏览器的取值如下(稍有精简):

MSIEMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET4.0C; .NET4.0E)
FirefoxMozilla/5.0 (Windows NT 5.1; rv:10.0.3) Gecko/20100101 Firefox/10.0.3
SafariMozilla/5.0 (Macintosh; U) AppleWebKit/533.20 (KHTML, like Gecko) Version/5.0.4 Safari/533.20
ChromeMozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.9 Safari/535.7
OperaOpera/9.80 (Windows NT 6.1; U; es-ES) Presto/2.9.181 Version/12.00

国内也有好几个基于 WebKit 的浏览器,其中只有傲游浏览器在 UA 中仅标明 AppleWebKit,其它浏览器都同时标明 AppleWebKit 和 Chrome。

再来看看移动设备浏览器的用户代理字符串(稍有精简):

Safari for iPhoneMozilla/5.0 (iPhone;) AppleWebKit/420+ Version/3.0 Mobile/1A543a Safari/419.3
Safari for iPadMozilla/5.0 (iPad;) AppleWebKit/531.21 Version/4.0 Mobile/7B334b Safari/531.21
Safari for AndroidMozilla/5.0 (Android 2.3.4;) AppleWebKit/533.1 Version/4.0 Mobile Safari/533.1
Chrome for PhoneMozilla/5.0 (Android 4.0.4;) AppleWebKit/535.19 Chrome/18.0 Mobile Safari/535.19
Chrome for TabletMozilla/5.0 (Android 4.0.4;) AppleWebKit/535.19 Chrome/18.0 Safari/535.19

另外,如果需要检测用户使用的操作系统,也可以用 navigator.platform。例如:

?
var  platform = ( function () {
   var  pl = navigator.platform;
   if  (pl.indexOf( 'Win' ) == 0) {
     return  'windows' ;
   } else  if  (pl.indexOf( 'Mac' ) == 0) {
     return  'macos' ;
   } else  if  (pl.indexOf( 'Linux' ) == 0 || pl.indexOf( 'X11' ) == 0) {
     return  'linux' ;
   } else  if  (pl.indexOf( 'iPhone' ) == 0 || pl.indexOf( 'iPad' ) == 0) {
     return  'ios' ;
   } else  if  (pl.indexOf( 'android' ) == 0) {
     return  'android' ;
   } else  {
     return  'unknown' ;
   }
})();

参考资料:

[1] HTML DOM userAgent 属性
[2] User agent - Wikipedia, the free encyclopedia
[3] UserAgentString.com
[4] Chrome for Android User-Agent
[5] Gecko user agent string reference
[6] window.navigator.platform - MDN
[7] Don’t forget navigator.platform

 

转载自:http://www.cnblogs.com/zoho/archive/2012/04/06/2434777.html

转载于:https://www.cnblogs.com/yingzi/archive/2012/07/29/2614195.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值