JS判断客户端是否是iOS或者Android或者ipad(三)

时间:2023-03-09 04:34:13
JS判断客户端是否是iOS或者Android或者ipad(三)
 *
 * @function: 判断浏览器类型是否是Safari、Firefox、ie、chrome浏览器
 * @return: true或false
 *
 */
function isSafari(){
    var userAgent = navigator.userAgent.toLowerCase();
    if(userAgent.indexOf("safari") > -1 && userAgent.indexOf("chrome") < 0){
        return true;
    }
    return false;
}
function isChrome(){
   if(navigator.userAgent.indexOf("Chrome") !== -1) { 
        return true;
   }
   return false;
}
function isFirefox(){
    if(navigator.userAgent.indexOf("Firefox")>0){
        return true;
    }
    return false;
}
function isMSIE9(){
    if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.split(";")[1].replace(/[ ]/g,"")=="MSIE9.0"){
        return true;
    }
    return false;
}
function isMSIE8(){
    if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.split(";")[1].replace(/[ ]/g,"")=="MSIE8.0"){
        return true;
    }
    return false;
}
function isMSIE7(){
    if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.split(";")[1].replace(/[ ]/g,"")=="MSIE7.0"){
        return true;
    }
    return false;
}

 

JavaScript获取客户端浏览器的类型和版本,这在前端开发中经常用到,因为一些用户体验好的网站,会先判断客户端访问者的浏览器类型和版本,针对不同的版本和类型调用不同的代码,让客户端获得最佳的浏览效果,那么用JS获取客户端浏览器类型和版本号,其实是很简单的,喜欢以下代码能为您提供参考:

01 function getBrowserVersion(){
02 var browser = {};
03 var userAgent = navigator.userAgent.toLowerCase();
04 var s;
05     (s = userAgent.match(/msie ([\d.]+)/))
06            ? browser.ie = s[1]
07             : (s = userAgent.match(/firefox\/([\d.]+)/))
08                     ? browser.firefox = s[1]
09                     : (s = userAgent.match(/chrome\/([\d.]+)/))
10                             ? browser.chrome = s[1]
11                            : (s = userAgent.match(/opera.([\d.]+)/))
12                                     ? browser.opera = s[1]
13                                     : (s = userAgent
14                                             .match(/version\/([\d.]+).*safari/))
15                                             ? browser.safari = s[1]
16                                             : 0;
17    var version = "";
18    if (browser.ie) {
19         version = 'msie ' + browser.ie;
20    else if (browser.firefox) {
21         version = 'firefox ' + browser.firefox;
22    else if (browser.chrome) {
23         version = 'chrome ' + browser.chrome;
24     else if (browser.opera) {
25         version = 'opera ' + browser.opera;
26     else if (browser.safari) {
27         version = 'safari ' + browser.safari;
28     else {
29         version = '未知的浏览器类型';
30     }
31     return version;
32

}

腾讯网的适配代码
如何判断访问网站的机器类型-如何判断ipad
JS 判断浏览器客户端类型(ipad,iphone,android)

  1. <script type="text/javascript">
  2. <!--
  3. //平台、设备和操作系统
  4. var system = {
  5. win: false,
  6. mac: false,
  7. xll: false,
  8. ipad:false
  9. };
  10. //检测平台
  11. var p = navigator.platform;
  12. system.win = p.indexOf("Win") == 0;
  13. system.mac = p.indexOf("Mac") == 0;
  14. system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
  15. system.ipad = (navigator.userAgent.match(/iPad/i) != null)?true:false;
  16. //跳转语句,如果是手机访问就自动跳转到wap.baidu.com页面
  17. if (system.win || system.mac || system.xll||system.ipad) {
  18. } else {
  19. window.location.href = "http://www.jdpatro.com/3g/";
  20. }
  21. -->
  22. </script>

腾讯网的适配代码

  1. <script type="text/javascript">
  2. if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){
  3. if(window.location.href.indexOf("?mobile")<0){
  4. try{
  5. if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){
  6. window.location.href="http://shipei.qq.com/index.htm";
  7. }else if(/iPad/i.test(navigator.userAgent)){
  8. }else{
  9. window.location.href="http://shipei.qq.com/simple/s/index/"
  10. }
  11. }catch(e){}
  12. }
  13. }
  14. </script>
  1. <script type="text/javascript">
  2. var browser = {
  3. versions : function() {
  4. var u = navigator.userAgent, app = navigator.appVersion;
  5. return {//移动终端浏览器版本信息
  6. trident : u.indexOf('Trident') > -1, //IE内核
  7. presto : u.indexOf('Presto') > -1, //opera内核
  8. webKit : u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
  9. gecko : u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
  10. mobile : !!u.match(/AppleWebKit.*Mobile.*/)
  11. || !!u.match(/AppleWebKit/), //是否为移动终端
  12. ios : !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
  13. android : u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
  14. iPhone : u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
  15. iPad: u.indexOf('iPad') > -1, //是否iPad
  16. webApp : u.indexOf('Safari') == -1,//是否web应该程序,没有头部与底部
  17. google:u.indexOf('Chrome')>-1
  18. };
  19. }(),
  20. language : (navigator.browserLanguage || navigator.language).toLowerCase()
  21. }
  22. document.writeln("语言版本: "+browser.language);
  23. document.writeln(" 是否为移动终端: "+browser.versions.mobile);
  24. </script>

如何判断访问网站的机器类型-如何判断ipad

如何判断是否是 iPad 浏览器呢,关键是看它的 User Agent 中是否有 iPad。iPad 使用的是 Safari Mobile 浏览器,他的的 User Agent 是:

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10

function is_iPad(){        
 [object Object] [object Object] [object Object]var ua = navigator.userAgent.toLowerCase();
 [object Object] [object Object] [object Object]if(ua.match(/iPad/i)=="ipad") {                
 [object Object] [object Object] [object Object] [object Object] [object Object] [object Object]return true;
 [object Object] [object Object] [object Object]} else {
 [object Object] [object Object] [object Object] [object Object] [object Object] [object Object]return false;
 [object Object] [object Object] [object Object]}
} $is_iPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad'); RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://ipad.fairyfish.net [R=301]

JS 判断浏览器客户端类型(ipad,iphone,android)

  1. <script type="text/javascript">
  2. var bForcepc
  3. = fGetQuery("dv") == "pc";
  4. function
  5. fBrowserRedirect(){
  6. var sUserAgent = navigator.userAgent.toLowerCase();
  7. var bIsIpad = sUserAgent.match(/ipad/i) ==
  8. "ipad";
  9. var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
  10. var bIsMidp = sUserAgent.match(/midp/i) == "midp";
  11. var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
  12. var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
  13. var bIsAndroid = sUserAgent.match(/android/i) == "android";
  14. var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
  15. var bIsWM = sUserAgent.match(/windows mobile/i) == "windows
  16. mobile";
  17. if(bIsIpad){
  18. var sUrl =
  19. location.href;
  20. if(!bForcepc){
  21. window.location.href = "http://ipad.mail.163.com/";
  22. }
  23. }
  24. if(bIsIphoneOs || bIsAndroid){
  25. var sUrl =
  26. location.href;
  27. if(!bForcepc){
  28. window.location.href = "http://smart.mail.163.com/";
  29. }
  30. }
  31. if(bIsMidp||bIsUc7||bIsUc||bIsCE||bIsWM){
  32. var sUrl =
  33. location.href;
  34. if(!bForcepc){
  35. window.location.href = "http://m.mail.163.com/";
  36. }
  37. }
  38. }
  39. function
  40. fGetQuery(name){//获取参数值
  41. var sUrl = window.location.search.substr(1);
  42. var r = sUrl.match(new RegExp("(^|&)" + name +
  43. "=([^&]*)(&|$)"));
  44. return (r == null ? null : (r[2]));
  45. }
  46. function
  47. fShowVerBlock(){
  48. if(bForcepc){
  49. document.getElementByIdx_x("dv_block").style.display = "block";
  50. }
  51. else{
  52. document.getElementByIdx_x("ad_block").style.display = "block";
  53. }
  54. }
  55. fBrowserRedirect();
  56. </script>