900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > php判断微信浏览器跳转页面跳转 判断当前网页是否在微信浏览器中打开

php判断微信浏览器跳转页面跳转 判断当前网页是否在微信浏览器中打开

时间:2020-04-18 19:48:14

相关推荐

php判断微信浏览器跳转页面跳转 判断当前网页是否在微信浏览器中打开

这几天一直在与微信内置的浏览器打交道,也总结出一些如何判断当前浏览器环境是否为微信浏览器的小经验(其实代码网上一搜一大把),今天记录一下。

判断网页是否在微信浏览器中打,一般都是通过请求头信息中的HTTP_USER_AGENT来判断,如果是来自微信浏览器的请求,请求头信息中就会包含‘MicroMessenger’字段,当然也有微信当前的版本号。以下是来自微信浏览器的 userAgent 信息//Android

"HTTP_USER_AGENT":"Mozilla/5.0(Linux;U;Android4.1;zh-cn;GalaxyNexusBuild/Wind-GalaxyNexus-V1.2)AppleWebKit/534.30(KHTML,likeGecko)Version/4.0MobileSafari/534.30MicroMessenger/5.0.1.352",

//WindowsPhone

"HTTP_USER_AGENT":"Mozilla/5.0(compatible;MSIE10.0;WindowsPhone8.0;Trident/6.0;IEMobile/10.0;ARM;Touch;NOKIA;Nokia920T)",

//iPhone;

"HTTP_USER_AGENT":"Mozilla/5.0(iPhone;CPUiPhoneOS6_1_3likeMacOSX)AppleWebKit/536.26(KHTML,likeGecko)Mobile/10B329MicroMessenger/5.0.1",

上面三段userAgent信息中,除了 Windows Phone手机的userAgent信息中没有出现'MicroMessenger'字段外,Android手机以及iPhone手机中都出现了,并且还带有微信的版本号。

PHP判断当前页面是否在微信浏览器中打开

代码1:functionisWxClient(){

$user_agent=$_SERVER['HTTP_USER_AGENT'];

if(strpos($user_agent,'MicroMessenger')===false){

returnfalse;

}else{

returntrue;

}

}

代码2:functionisWxClient(){

returnstrpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger')!==false;

}

代码3:判断微信浏览器的版本号functionWxClient_Edition(){

$user_agent=$_SERVER['HTTP_USER_AGENT'];

preg_match('/.*?(MicroMessenger\/([0-9.]+))\s*/',$user_agent,$matches);

return$matches[2];

}

注意:有些微信的支付功能,在低版本的微信上是无法实现的,比如JSAPI支付等。所以我们要得到当前用户所使用的微信版本号,以便来做一些兼容性的措施。

js判断当前页面是否在微信浏览器中打开

代码1:varua=navigator.userAgent.toLowerCase();

varisWeixin=ua.indexOf('micromessenger')!=-1;

if(isWeixin){

returntrue;

}else{

returnfalse;

}

代码2:functionis_weixn(){

varua=navigator.userAgent.toLowerCase();

if(ua.match(/MicroMessenger/i)=="micromessenger"){

returntrue;

}else{

returnfalse;

}

}

代码3:varis_weixin=(function(){returnnavigator.userAgent.toLowerCase().indexOf('micromessenger')!==-1})();

if(is_weixin){

$(function(){

returntrue;

});

}else{

$(function(){

returnfalse;

});

}

以上三段JS代码,都可以判断出当前出网页当前的浏览器环境是否为微信内置浏览器,所以用哪段代码,效果都是一样的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。