js判断是否手机浏览器和微信内建浏览器(简单易懂)

javascript 在浏览器端判断是否手机浏览器的简单代码如下,也包括微信内建浏览器的判断。

function isMobile() {
    var userAgent = navigator.userAgent;
    var mobileAgents = ["Android", "iPhone","MicroMessenger",
                "SymbianOS", "Windows Phone", "iPod"];
    var bMobile = false;
    for (var agent in mobileAgents) {
        if (userAgent.indexOf(agent) > 0) {
            bMobile = true;
            break;
        }
    }
    return bMobile;

仅仅判断是否微信内建浏览器,可以采用如下简单代码(首选代码):

function isWeixin(){
    return navigator.userAgent.indexOf("MicroMessenger")>0;
}

注意,很多人喜欢用正则表达式判断,其实这不可取,因为js对于在字符串中查找一个子字符串,用indexOf速度最快,如果用正则表达式,正则表达式引擎首先要分析模式表达式,然后再进行模式匹配,理论上是慢的,如下代码虽然能用但不可取:

function isWeixin(){
    var ua = navigator.userAgent.toLowerCase();
    if(ua.match(/MicroMessenger/i)=="micromessenger") {
        return true;
     } else {
        return false;
    }
}
文章由官网发布,如若转载,请注明出处:https://www.dpaoz.com/191
1 条评论
2.2k

发表评论

仅有一条评论

  1. 1321     Win 7 /    Chrome 说道:
    2020-04-18 16:38

    :真棒::真棒::真棒::真棒:

嘿,我来帮您!