备注:基于网络上内容所有修改

在进行微信公众账号开发的时候,其中很大一块是微站点的开发,有时候我们需要知道当前的浏览器是微信内置的浏览器,从而做一些事情。

1、例如微信内置浏览器不显示底部导航,其他浏览器显示底部导航

2、例如表单是否从微信内置浏览器提交

3、等等

那么如何判断呢?

一、微信内置浏览器的 User Agent
如何判断微信内置浏览器,首先需要获取微信内置浏览器的User Agent

首先我们通过php内置的 $_SERVER["HTTP_USER_AGENT"] server数组来获取User Agent

iPhone 通过微信内置浏览器访问网页时得到 User Agent 是:

?
1
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

Android 通过微信内置浏览器访问网页时得到 User Agent 是:

?
1
Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.255

从以上两种手机设置中可以发现,通过识别 MicroMessenger 这个关键字来确定是否微信内置的浏览器了。
通过 JavaScript 判断

?
1
2
3
4
5
6
7
8
function  is_weixin(){
     var  ua = navigator.userAgent.toLowerCase();
     if (ua.match(/MicroMessenger/i)== "micromessenger" ) {
         return  true ;
      else  {
         return  false ;
     }
}

通过 PHP 判断

?
1
2
3
4
5
6
function  is_weixin(){ 
     if  strpos ( $_SERVER [ 'HTTP_USER_AGENT' ],  'MicroMessenger' ) !== false ) {
             return  true;
     }    
     return  false;
}

Logo

Agent 垂直技术社区,欢迎活跃、内容共建,欢迎商务合作。wx: diudiu5555

更多推荐