zoukankan      html  css  js  c++  java
  • js判断是否移动设备

    /*
    * 智能机浏览器版本信息:
    *
    */
     
      var browser={
        versions:function(){
               var u = navigator.userAgent, app = navigator.appVersion;
               return {//移动终端浏览器版本信息
                    trident: u.indexOf('Trident') > -1, //IE内核
                    presto: u.indexOf('Presto') > -1, //opera内核
                    webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
                    gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
                    mobile: !!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/), //是否为移动终端
                    ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                    android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
                    iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
                    iPad: u.indexOf('iPad') > -1, //是否iPad
                    webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
                };
             }(),
             language:(navigator.browserLanguage || navigator.language).toLowerCase()
    }
    document.writeln("语言版本: "+browser.language);
    document.writeln(" 是否为移动终端: "+browser.versions.mobile);
    document.writeln(" ios终端: "+browser.versions.ios);
    document.writeln(" android终端: "+browser.versions.android);
    document.writeln(" 是否为iPhone: "+browser.versions.iPhone);
    document.writeln(" 是否iPad: "+browser.versions.iPad);
    document.writeln(navigator.userAgent);
    if( browser.versions.android || browser.versions.iPhone || browser.versions.iPad){
    window.location.href="http://m.shanmao.me"
    }else{
    alert("不是移动设备");
    }

     判断是否是微信:

        function is_weixn(){  
            var ua = navigator.userAgent.toLowerCase();  
            if(ua.match(/MicroMessenger/i)=="micromessenger") {  
                return true;  
            } else {  
                return false;  
            }  
        }  

     工作当中遇到的情况,  判断 是不是是移动端,有点误? 正确代码如下

    return {//移动终端浏览器版本信息
                        trident: u.indexOf('Trident') > -1, //IE内核
                        presto: u.indexOf('Presto') > -1, //opera内核
                        webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
                        gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
                        mobile: u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端     【 这个上一版本有误 】
                        ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                        android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
                        iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
                        iPad: u.indexOf('iPad') > -1, //是否iPad
                        webApp: u.indexOf('Safari') == -1,//是否web应该程序,没有头部与底部
                        androidWwb: u.indexOf('jwish-app') != -1,
                        iosWeb: u.indexOf('jwish-app-ios') != -1
    
                    };
  • 相关阅读:
    记RestTemplate远程请求接口数据的一些注意事项
    记使用SpringDataMongonDb时,dao方法命名的一个已解决但不知道为什么的bug
    charles 打断点后传参或返回数据更改
    在liunx上搭建git仓库1
    jsonpath 提取参数
    pytest 参数化的使用1
    pytest中断言失败后,也可以继续执行其他用例
    charles开启弱网功能
    httprunner 参数化
    httprunner中debugtalk使用
  • 原文地址:https://www.cnblogs.com/yjhua/p/4699945.html
Copyright © 2011-2022 走看看