如何判断微信内置浏览器(通过User Agent实现)


Posted in Javascript onSeptember 01, 2014

在进行微信公众账号开发的时候,其中很大一块是微站点的开发,我们需要知道当前的浏览器是微信内置的浏览器,那么如何判断呢?

微信内置浏览器的 User Agent

如何判断微信内置浏览器,首先需要获取微信内置浏览器的User Agent,经过在 iPhone 上微信的浏览器的检测,它的 User Agent 是:

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

所以通过识别 MicroMessenger 这个关键字来确定是否微信内置的浏览器了。

通过 JavaScript 判断

function is_weixin(){
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
return true;
} else {
return false;
}
}

通过 PHP 判断

function is_weixin(){ 
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {
return true;
} 
return false;
}
Javascript 相关文章推荐
一个cssQuery对象 javascript脚本实现代码
Jul 21 Javascript
JavaScript 继承机制的实现(待续)
May 18 Javascript
原生javascript模仿win8等待提示圆圈进度条
Apr 24 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
Jul 28 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
Jun 09 Javascript
浅析BootStrap中Modal(模态框)使用心得
Dec 24 Javascript
Vue.js实现表格动态增加删除的方法(附源码下载)
Jan 20 Javascript
官方推荐react-navigation的具体使用详解
May 08 Javascript
基于JS开发微信网页录音功能的实例代码
Apr 30 Javascript
node将geojson转shp返回给前端的实现方法
May 29 Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
Jun 17 Javascript
JavaScript实现动态生成表格
Aug 02 Javascript
使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证
Sep 01 #Javascript
上传图片js判断图片尺寸和格式兼容IE
Sep 01 #Javascript
影响jQuery使用的14个方面
Sep 01 #Javascript
自编jQuery插件实现模拟alert和confirm
Sep 01 #Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
Sep 01 #Javascript
JQuery $.each遍历JavaScript数组对象实例
Sep 01 #Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
Sep 01 #Javascript
You might like
php下获取客户端ip地址的函数
2010/03/15 PHP
队列在编程中的实际应用(php)
2010/09/04 PHP
PHP项目开发中最常用的自定义函数整理
2010/12/02 PHP
PHP常用函数和常见疑难问题解答
2014/03/05 PHP
yii的CURD操作实例详解
2014/12/04 PHP
php阳历转农历优化版
2016/08/08 PHP
Jquery写一个鼠标拖动效果实现原理与代码
2012/12/24 Javascript
jquery用data方法获取某个元素上的事件
2014/06/23 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
livereload工具实现前端可视化开发【推荐】
2016/12/23 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
深入理解Vue父子组件生命周期执行顺序及钩子函数
2018/08/12 Javascript
基于iview的router常用控制方式
2019/05/30 Javascript
uni-app 组件里面获取元素宽高的实现
2019/12/27 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
使用python提取html文件中的特定数据的实现代码
2013/03/24 Python
Python程序设计入门(2)变量类型简介
2014/06/16 Python
python传递参数方式小结
2015/04/17 Python
Python实现合并字典的方法
2015/07/07 Python
对python中的pop函数和append函数详解
2018/05/04 Python
python正则-re的用法详解
2019/07/28 Python
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
Python使用import导入本地脚本及导入模块的技巧总结
2019/08/07 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
Bata印度官网:源自欧洲舒适鞋履品牌
2020/01/30 全球购物
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
浙大网新C/C++面试解惑
2015/05/27 面试题
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
幼师大班个人总结
2015/02/13 职场文书
浅谈Redis的几个过期策略
2021/05/27 Redis
MySQL解决Navicat设置默认字符串时的报错问题
2022/06/16 MySQL