在微信公众平台的开发过程中,我们有时需要开发网页并判断是否是是来自微信浏览器访问,本文介绍如何做出这一判断。
在学习这篇之前,应该先了解一下PHP 的 $_SERVER变量。
下面我们开始讲解具体方法:
一:获取HTTP_USER_AGENT
<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>
在iPhone下,返回
Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.3.2
在Android下,返回
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 ,后面还有其版本号,与此同时,还可以判断手机类型为iPhone还是Android。
二:通过PHP判断微信浏览器访问
我们判断HTTP_USER_AGENT中是否有MicroMessenger即可
<?php if(strpos($_SERVER["HTTP_USER_AGENT"], "MicroMessenger")){ echo "您正在使用微信浏览器访问该页面"; }else{ echo "<span>HTTP/1.1 401 Unauthorized</span>"; } ?>
三:通过 JavaScript 判断(2013-12-19 补充)
function is_weixin(){ var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i)=="micromessenger") { return true; } else { return false; } }