判断是否是微信访问并获取版本号

在进行微信公众账号开发的时候,其中很大一块是微站点的开发,我们需要知道当前的浏览器是微信内置的浏览器,那么如何判断呢?

微信内置浏览器的 User Agent

如何判断微信内置浏览器,首先需要获取微信内置浏览器的User Agent,经过在 iPhone 上微信的浏览器的检测,它的 User Agent 是: (经测试正确)

Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329 MicroMessenger/5.0.1

所以通过识别 MicroMessenger 这个关键字来确定是否微信内置的浏览器了,MicroMessenger后面是微信的版本号

//javascript判断是否是微信访问
function is_weixin(){
    var ua = navigator.userAgent.toLowerCase();
    if(ua.match(/MicroMessenger/i)=="micromessenger") {
        return true;
    } else {
        return false;
    }
}
//php判断是否微信访问
function is_weixin(){
    return preg_match('/MicroMessenger\/([\d\.]+)/i',$_SERVER['HTTP_USER_AGENT']) ? true : false;
}

其实我们还可以获取到版本号

//javascript获取版本号
function weixin_version()
{
    var wechatInfo = navigator.userAgent.match(/MicroMessenger\/([\d\.]+)/i) ;
    return wechatInfo[1];
    //if( !wechatInfo ) {
    //    alert("本活动仅支持微信") ;
    //} else if ( wechatInfo[1] < "5.0" ) {
    //    alert("本活动仅支持微信5.0以上版本") ;
    //}
}
//php获取版本号
function weixin_version(){
    preg_match('/MicroMessenger\/([\d\.]+)/i',$_SERVER['HTTP_USER_AGENT'],$match);
    return $match[1];
}

你可能感兴趣的:(判断是否是微信访问并获取版本号)