如何判断微信内置浏览器(通过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 相关文章推荐
jQuery学习2 选择器的使用说明
Feb 07 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
Jan 01 Javascript
JavaScript 继承使用分析
May 12 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
Dec 27 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
Jul 16 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
Mar 29 Javascript
使用mint-ui开发项目的一些心得(分享)
Sep 07 Javascript
angularjs路由传值$routeParams详解
Sep 05 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
Sep 14 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
Apr 11 Javascript
微信小程序引入VANT组件的方法步骤
Sep 19 Javascript
vue实现图书管理系统
Dec 29 Vue.js
使用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自动更新版权信息显示的方法
2015/06/19 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
PHP实现数组的笛卡尔积运算示例
2017/12/15 PHP
js调用图片隐藏&显示实现代码
2013/09/13 Javascript
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
BootStrap下拉菜单和滚动监听插件实现代码
2016/09/26 Javascript
jQuery实现联动下拉列表查询框
2017/01/04 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
nodejs入门教程五:连接数据库的方法分析
2017/04/24 NodeJs
jQuery选择器特殊字符与属性空格问题
2017/08/14 jQuery
原生js实现简单的模态框示例
2017/09/08 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
2018/03/27 Javascript
JS面向对象的程序设计相关知识小结
2018/05/26 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
vue自定义底部导航栏Tabbar的实现代码
2018/09/03 Javascript
微信小程序框架的页面布局代码
2019/08/17 Javascript
微信小程序实现pdf、word等格式文件上传的方法
2019/09/10 Javascript
vue v-model的用法解析
2020/10/19 Javascript
Python与shell的3种交互方式介绍
2015/04/11 Python
详解Python当中的字符串和编码
2015/04/25 Python
Django的session中对于用户验证的支持
2015/07/23 Python
python pytest进阶之xunit fixture详解
2019/06/27 Python
解决Python对齐文本字符串问题
2019/08/28 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
2014/09/02 HTML / CSS
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
家长评语大全
2014/01/22 职场文书
统计岗位职责
2014/02/21 职场文书
保护母亲河倡议书
2014/04/14 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
交通安全教育主题班会
2015/08/12 职场文书
解读MySQL的客户端和服务端协议
2021/05/10 MySQL