js判断浏览器是android还是ios还是微信浏览器

项目中需要扫描二维码之后自动分辨出是Android还是iOS系统,针对于不同的系统进行不同的下载

http://blog.csdn.net/xjtarzan/article/details/46729829

方法一:JS判断是否移动端浏览器

使用这方法既简单,又实用,不需要引入jQuery库,把以下代码加入到<head>里即可。

<script type=”text/javascript”>
    if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
        window.location ="mobile.html"; //可以换成http地址
    }
</script>
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

或者用下边这段:

if(navigator.userAgent.match(/(iPhone|iPod|iPad|ios|Android)/i)){
  window.location ="mobile.html";
}
 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

方法二:自己写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.*/), //是否为移动终端
                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 , //是否为iPhone或者QQHD浏览器
                iPad: u.indexOf('iPad') > -1, //是否iPad
                webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
            };
        }(),
        language:(navigator.browserLanguage || navigator.language).toLowerCase()
    }
    //跳转链接
    if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) { 
        window.location="https://itunes.apple.com/xxx"; 
    } 
    else if (browser.versions.android) {
        window.location="http://xxx/xxx.apk"; 
    } 
    //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);
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

方法三:使用 Device.Js 库

device.js 是一个用于检查设备用的插件,使用它你可以很方便的判断设备的操作系统,以及设备是纵向还是横向。首先,我们下载Device.js

下载地址:https://github.com/matthewhudson/device.js

STEP 1: 引入 JS 文件

<script src=”device.min.js”></script>
 
 
  • 1
  • 1

STEP 2: 加入判断代码

<script type=”text/javascript”>
if(device.mobile()){
window.location = “shouji.html”;  //可以换成http地址
}
</script>
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

以下是可供使用的设备类型参数:

这里写图片描述

方法四:判断是否微信浏览器

<script type="text/javascript">
//手机端判断各个平台浏览器及操作系统平台
function checkPlatform(){
  if(/android/i.test(navigator.userAgent)){
      document.write("This is Android'browser.");//这是Android平台下浏览器
  }
  if(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)){
      document.write("This is iOS'browser.");//这是iOS平台下浏览器
  }
  if(/Linux/i.test(navigator.userAgent)){
      document.write("This is Linux'browser.");//这是Linux平台下浏览器
  }
  if(/Linux/i.test(navigator.platform)){
      document.write("This is Linux operating system.");//这是Linux操作系统平台
  }
  if(/MicroMessenger/i.test(navigator.userAgent)){
      document.write("This is MicroMessenger'browser.");//这是微信平台下浏览器
  }
}
</script>
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

或者只需要判断微信浏览器

function isWeiXin(){
    var ua = window.navigator.userAgent.toLowerCase();
    if(ua.match(/MicroMessenger/i) == 'micromessenger'){ 
        return true; 
    }
    else{
        return false; 
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明
在前端开发中,我们可以使用JavaScript来判断网页是在微信下还是在App下。具体的判断可以通过检测User Agent来实现。 User Agent是浏览器在向服务器发送请求时携带的一个标识,包含了关于浏览器、操作系统、设备等信息。微信和App的User Agent有一些差别,我们可以通过检测User Agent中的关键字来判断。 如果网页是在微信下打开,通常User Agent会包含类似于"WeChat"或"MicroMessenger"的关键字。我们可以使用JavaScript的`navigator.userAgent`获取当前浏览器的User Agent,并使用正则表达式进行匹配,判断是否包含这些微信特有的关键字。 如果网页是在App下打开,通常User Agent会包含特定的App标识,例如iOS的User Agent中可能包含"iPhone"或"iPad",Android的User Agent中可能包含"Android"等。我们可以使用正则表达式对User Agent进行匹配,判断是否包含这些特定的关键字。 下面是一个简单的示例代码: ```javascript // 获取当前浏览器的User Agent var userAgent = navigator.userAgent; // 判断是否微信下 if (/MicroMessenger|WeChat/.test(userAgent)) { console.log("在微信下打开"); } // 判断是否在App下 if (/iPhone|iPad/.test(userAgent)) { console.log("在iOS App下打开"); } else if (/Android/.test(userAgent)) { console.log("在Android App下打开"); } ``` 上述代码会打印出当前网页是在微信下还是在App下打开。你也可以根据实际情况进行相应的操作,例如显示不同的内容、调用不同的API等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值