在微信公众平台的开发过程中,我们有时需要开发网页并判断是否是是来自微信浏览器访问,本文介绍如何做出这一判断。
在学习这篇之前,应该先了解一下PHP 的 $_SERVER变量。
下面我们开始讲解具体方法:
一:获取HTTP_USER_AGENT
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即可
if(strpos($_SERVER["HTTP_USER_AGENT"], "MicroMessenger")){
echo "您正在使用微信浏览器访问该页面";
}else{
echo "HTTP/1.1 401 Unauthorized";
}
?>
三:通过 JavaScript 判断(-12-19 补充)
function is_weixin(){
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
return true;
} else {
return false;
}
}