**第一种:通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端。代码如下:**
<script type="text/javascript">
    var u = navigator.userAgent;
    var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
    var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
    alert('是否是Android:'+isAndroid);
    alert('是否是iOS:'+isiOS);
</script>
**第二种:检查是否是移动端(Mobile)、ipad、iphone、微信、QQ等。**
<script type="text/javascript">
//判断访问终端
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.*/), //是否为移动终端
            ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
            android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
            iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
            iPad: u.indexOf('iPad') > -1, //是否iPad
            zfb : u.indexOf('AlipayClient') > -1, //是否支付宝

            webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
            weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
            qq: u.match(/\sQQ/i) == " qq" //是否QQ
        };
    }(),
    language:(navigator.browserLanguage || navigator.language).toLowerCase()
}
</script>
**第三种:判断iPhone|iPad|iPod|iOS|Android客户端,来自http://www.fufuok.com/JS-iphone-android.html**
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {  //判断iPhone|iPad|iPod|iOS
    //alert(navigator.userAgent);  
    window.location.href ="iPhone.html";
} else if (/(Android)/i.test(navigator.userAgent)) { //判断Android
    //alert(navigator.userAgent);
    window.location.href ="Android.html";
} else { //pc
    window.location.href ="pc.html";
};
**第四种:判断pc还是移动端**
<script>
  //判断是否手机端访问
    var userAgentInfo = navigator.userAgent.toLowerCase();
    var Agents = ["android", "iphone",
                "symbianos", "windows phone",
                "ipad", "ipod"];
    var ly=document.referrer;  //返回导航到当前网页的超链接所在网页的URL     for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) >= 0&&(ly==""||ly==null)) {
            this.location.href='http://m.***.com';  //wap端地址
        }
    }
</script> 本文前三种方法转载于http://caibaojian.com/browser-ios-or-android.html

js判断终端以及APP应用判断的更多相关文章

  1. 判断终端类型、微信的文章防盗链、h5页面跳转打开新的app、跳转到app市场

    判断终端的类型.安卓.ios.微信.qq function  GetMobelType()  {                 var  browser  =   {                 ...

  2. 判断终端是ios还是安卓的一些妙用(附加微信分享图标修改)

    最近遇到一个项目 要求有两个icon(就是下载地址 下载安卓的apk  和ios的安装包) 一开始的方案是 什么设备都显示这两个icon 但是后来老大说这样不好   安卓用户给他下载ios 也不行  ...

  3. 浏览器判断是否安装APP

    浏览器判断是否安装APP http://blog.csdn.net/henrywulibin/article/details/52087041 从浏览器中打开我们的应用 http://blog.csd ...

  4. 判断终端是ios还是安卓的一些妙用

    最近遇到一个项目 要求有两个icon(就是下载地址 下载安卓的apk  和ios的安装包) 一开始的方案是 什么设备都显示这两个icon 但是后来老大说这样不好   安卓用户给他下载ios 也不行  ...

  5. 判断是否安装APP

    var time; $('#open').on('click',function(){ window.location="协议";//打开某手机上的某个app应用 time = s ...

  6. JS读取UserAgent信息并做判断

    JS读取UserAgent信息并做判断 userAgent信息可以由navigator.userAgent拿到.例子: <script type="text/javascript&qu ...

  7. JS 中对变量类型的判断

    总结:1. 一般简单的使用 typeof 或 instanceof 检测(这两种检测的不完全准确)          2. 完全准确的使用 原生js中的 Object.prototype.toStri ...

  8. 微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法

    前段时间开发了一款微信小程序,运行了也几个月了,在index.js中的onLoad生命周期里获取app.js中onLaunch生命周期中在接口里动态设置的globalData一直没有问题,结果昨天就获 ...

  9. 去它的h5,我还是用js写原生跨平台app吧

    智能手机功能越来越强大,已经在逐渐替代电脑的作用.百度.腾讯.阿里的移动端日活数也在逐步的赶上甚至超越电脑端用户.叫喊着“mobile first”的公司越来越多,App开发者应运而生,且队伍日趋庞大 ...

随机推荐

  1. Centos 7 上使用nginx为Node.js配置反向代理时错误:(13: Permission denied) while connecting to upstream

    错误来源:Centos 7 上使用nginx为Node.js配置反向代理时产生(13: Permission denied) while connecting to upstream的错误 nginx ...

  2. Error creating bean with name 'dataSource' defined in class path resource 报错解决办法

    在学习spring boot 的数据库操作的时候,报了一串错误

  3. JSON.stringify 语法实例讲解+easyui data-options属性+expires【申明:来源于网络】

    JSON.stringify 语法实例讲解+easyui data-options属性+expires[申明:来源于网络] JSON.stringify 语法实例讲解:http://www.jb51. ...

  4. 第6周Java学习任务

    一.阅读ManagerTest 1.UML图 : 2.e.getSalary()到底是调用Manager类的还是Employee类的getSalary方法? stuff[0]中存的是Manager对象 ...

  5. sqlmap常用命令

    sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了.今天把我一直 ...

  6. ZD6转辙机

    1.转辙机的分类? 2.ZD6转辙机的电源电压是多少? 3.ZD6转辙机的电路图是怎么样的? 经常看到的一些术语: DBJ,FBJ DCJ FCJ DBJ 定位表示继电器 FBJ 反位表示继电器 DC ...

  7. Jmeter正则表达式提取器

    https://www.cnblogs.com/tudou-22/p/9566894.html Jmeter中关联是通过“添加—后置处理器—正则表达式提取器”来获取数据 一.获取单个数据

  8. linux 环境变量函数getenv()和putenv()的使用

    环境变量相关函数: getenv()和putenv() 代码示例[Linux程序设计(4th)_4.2小节配套代码]: 程序功能:编写一个程序来打印所选的任意环境变量的值:如果给程序传递第二个参数,还 ...

  9. studio-3t 配置文件位置

    换电脑了,原来的studio-3t的配置 在 C:\Users\用户名\.3T. 将这个目录下的所有文件拷贝到 新电脑里的 相同文件夹,覆盖即可

  10. 【tomcat启动失败问题】Unable to start embedded Tomcat

    启动spring boot 项目后抛出如下异常: org.springframework.context.ApplicationContextException: Unable to start em ...