使用navigator.userAgent.toLowerCase()判断移动端类型

来源:互联网 发布:ro sql版本 gm账号 编辑:程序博客网 时间:2024/06/12 22:04
在跨平台,各种浏览器,移动设备兼容的时候,经常要根据设备、浏览器做特定调整,所以判断设备和浏览器的工作,经常会用到,这里做一下总结

判断设备,区分Android,iphone,ipad和其它

[javascript] view plain copy
  1. var ua   = navigator.userAgent.toLowerCase();   
  2. if(ua.match(/android/i)) == "android")  
  3. {  
  4.     alert("android");  
  5. }  
  6. if(ua.match(/iPhone/i)) == "iPhone")  
  7. {  
  8.     alert("iPhone");  
  9. }  
  10. if(ua.match(/iPad/i)) == "iPad")  
  11. {  
  12.     alert("iPad");  
  13. }  

判断是不是特定类型的浏览器,比如新浪weibo客户端内置浏览器,qq客户端内置浏览器(而非qq浏览器),微信内置浏览器

(并且区分版本是否大于等于6.0.2)(特定类型浏览器可能会存在,无法下载,无法跳转和自己的客户端app的特定协议等等,所以需要区分)

(由于微信在6.0.2的时候做了新的策略,使得微信的分享功能在新版本变得不一样,为了兼容新旧版本,这里做了区分操作)

新浪weibo客户端返回1,qq客户端返回2,微信小于6.0.2版本返回3,微信大于等于6.0.2版本返回4,其它返回0

[javascript] view plain copy
  1. var ua = navigator.userAgent.toLowerCase();  
  2.     if(ua.match(/weibo/i) == "weibo"){  
  3.         return 1;  
  4.     }else if(ua.indexOf('qq/')!= -1){  
  5.         return 2;  
  6.     }else if(ua.match(/MicroMessenger/i)=="micromessenger"){  
  7.         var v_weixin = ua.split('micromessenger')[1];  
  8.         v_weixin = v_weixin.substring(1,6);  
  9.         v_weixin = v_weixin.split(' ')[0];  
  10.         if(v_weixin.split('.').length == 2){  
  11.             v_weixin = v_weixin + '.0';  
  12.         }  
  13.         if(v_weixin < '6.0.2'){  
  14.             return 3;  
  15.         }else{  
  16.             return 4;  
  17.         }  
  18.     }else{  
  19.         return 0;  
  20.     }  

0 0
原创粉丝点击