使用 PHP 判断当前用户是否使用微信内部浏览器访问页面

学习笔记 马富天 2017-07-18 14:34:59 176 0

【摘要】今天在淘宝上面接了一单,客户说要做一个二维码提供给访客下载一个 APP,但是通过微信扫二维码的时候并不能够直接下载该 APP,需要进去一个提示页面:提示用户点击右上角,使用浏览器打开。今天在淘宝上面接了一单,客户说要做一个二维码提供给访客下载一个 APP,但是通过微信扫二维码的时候并不能够直接下载该 APP,需要进去一个提示页面:提示用户点击右上角,使用浏览器打开。

关键点:获取访客的 HTTP_USER_AGENT ,然后使用正则表达式查找是否含有微信浏览器关键词:MicroMessenger,若有,则判断是微信内部浏览器,否则是其它浏览器。

使用 PHP 判断的代码如下:

  1. header('content-type:text/html;charset=utf-8');
  2. if(is_weixin())
  3. {
  4. 	echo "访客是在微信内部浏览器中打开此页面";
  5. }else
  6. {
  7. 	echo "访客是在微信外部部浏览器中打开此页面";
  8. 	//	header("Location:http://www.baidu.com");	//	跳转到其它页面
  9. }
  10. function is_weixin()
  11. { 
  12. 	if(strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger') !== false) 
  13. 	{
  14. 	    return true;
  15. 	}else
  16. 	{
  17. 		return false;
  18. 	}
  19. }

后来我把文件和图片都发给给客户的时候,没想到它的网站源代码并不是 PHP 的,这时候我在想是不是使用 js 代码也能够同样实现这样的效果呢,于是乎就有了下面的代码(很顺利的给客户完成了该功能),使用 js/JavaScript 代码判断如下:

  1. //判断是否微信登陆
  2. function isWeiXin() 
  3. {
  4. 	var ua = window.navigator.userAgent.toLowerCase();
  5. 	if(ua.match(/MicroMessenger/i) == 'micromessenger') 
  6. 	{
  7. 		return true;
  8. 	}else 
  9. 	{
  10. 		return false;
  11. 	}
  12. }
  13. if(isWeiXin())
  14. {
  15. 	console.log("访客是在微信内部浏览器中打开此页面");
  16. }else
  17. {
  18. 	console.log("不是来自微信内置浏览器")
  19. 	//	location.href = "http://www.baidu.com";		//	跳转到其它页面中
  20. }

以上代码本人亲测真实有效。

版权归 马富天个人博客 所有

本文标题:《使用 PHP 判断当前用户是否使用微信内部浏览器访问页面》

本文链接地址:http://www.mafutian.com/286.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

1

0

上一篇《 URL 中特殊字符转义 》 下一篇《 PHP 源代码加密解密介绍 》

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码

TOP10

  • 浏览最多
  • 评论最多