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
    
                    };
  • 相关阅读:
    不停机还能替换代码?6年的 Java程序员表示不可思议
    redis 分布式锁的 5个坑,真是又大又深
    一口气说出 4种 LBS “附近的人” 实现方式,面试官笑了
    真没想到,Springboot能这样做全局日期格式化,有点香!
    springboot + aop + Lua分布式限流的最佳实践
    不可思议的hexo,五分钟教你免费搭一个高逼格技术博客
    Redis开发运维的陷阱及避坑指南
    Jar包一键重启的Shell脚本及新服务器部署的一些经验
    与Redis的初次相识,Redis安装、启动与配置
    SpringBoot项目中应用Jedis和一些常见配置
  • 原文地址:https://www.cnblogs.com/yjhua/p/4699945.html
Copyright © 2011-2022 走看看