码迷,mamicode.com
首页 > 编程语言 > 详细

js判断浏览器类型以及语言

时间:2018-08-24 21:17:35      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:color   mac os x   navig   fun   trident   其他   user   inf   mac os   

1、检查是否是移动端(Mobile)、ipad、iphone、微信、QQ等

<script type="text/javascript">
        //判断访问终端
        var browser={
          versions:function(){
            var u = navigator.userAgent
                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
                  webApp: u.indexOf(‘Safari‘) == -1, //是否web应该程序,没有头部与底部
                  weixin: u.indexOf(‘MicroMessenger‘) > -1, //是否微信
                  qq: u.match(/\sQQ/i) == " qq" //是否QQ
                };
          }(),
          //语言
          language:(navigator.browserLanguage || navigator.language).toLowerCase();
</script>

使用方法:

//判断是否IE内核 
        if(browser.versions.trident){ alert("is IE浏览器"); } 
        //判断是否webKit内核 
        if(browser.versions.webKit){ alert("is webKit内核浏览器"); } 
        //判断是否移动端 
        if(browser.versions.mobile||browser.versions.android||browser.versions.ios){ alert("移动端"); }
        //判断是否微信内置浏览器
        if(browser.versions.weixin){ alert("微信内置浏览器")}
        //判断是否QQ内置浏览器
        if(browser.versions.qq){ alert("qq内置浏览器")}
        //判断语言
        if(browser.language.indexOf(‘zh‘)>-1){
            alert(‘中文‘);
        }else if(browser.language.indexOf(‘en‘)>-1){
            alert(‘英文‘)
        }else{
            alert(‘其他语言‘)
        }

2、只判断微信,可以简写这样

    if(navigator.userAgent.indexOf(‘MicroMessenger‘) > -1){
               alert(‘微信里‘);
        }else{
            alert(‘微信外‘)
        }    

3、只判断浏览器语言

var language = (navigator.browserLanguage || navigator.language).toLowerCase();
if(language.indexOf(‘zh‘)>-1){
    alert(‘中文‘);
}else if(language.indexOf(‘en‘)>-1){
    alert(‘英文‘)
}else{
    alert(‘其他语言‘)
}

4、判断iPhone|iPad|iPod|iOS|Android客户端|PC端,分别跳转不同页面

if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判断iPhone|iPad|iPod|iOS
  window.location.href ="iPhone.html";
}else if(/(Android)/i.test(navigator.userAgent)) {  //判断Android
  window.location.href ="Android.html";
}else{ //pc
  window.location.href ="pc.html";
};

5、判断是IOS还是Android客户端

if(navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)){
    alert("IOS");
}else if(navigator.userAgent.indexOf(‘Android‘) > -1 || navigator.userAgent.indexOf(‘Adr‘) > -1){
    alert("Android")
}

6、判断PC端还是移动端

function isPC(){
    var userAgentInfo = navigator.userAgent.toLowerCase();
    var Agents = ["android", "iphone","symbianos", "windows phone","ipad", "ipod"];
    for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) >= 0) {
             alert("移动端");
             return false;
        }
    }
    return true;
}    

7、判断ie浏览器版本

function IEVersion() {
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串  
    var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器  
    var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器  
    var isIE11 = userAgent.indexOf(‘Trident‘) > -1 && userAgent.indexOf("rv:11.0") > -1;
    if(isIE) {
        var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
        reIE.test(userAgent);
        var fIEVersion = parseFloat(RegExp["$1"]);
        if(fIEVersion == 7) {
            return 7;
        } else if(fIEVersion == 8) {
            return 8;
        } else if(fIEVersion == 9) {
            return 9;
        } else if(fIEVersion == 10) {
            return 10;
        } else {
            return 6;//IE版本<=6
        }   
    } else if(isEdge) {
        return ‘edge‘;//edge
    } else if(isIE11) {
        return 11; //IE11  
    }else{
        return -1;//不是ie浏览器
    }
}

 

js判断浏览器类型以及语言

标签:color   mac os x   navig   fun   trident   其他   user   inf   mac os   

原文地址:https://www.cnblogs.com/myIvan/p/9531941.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!