JS判断是否在微信浏览器打开的简单实例(推荐)


Posted in Javascript onAugust 24, 2016

最近做很多HTML5的项目,很多页面会通过微信微博等SNS分享出去。在分享页面上提供公司APP的下载。但是在很多应用的浏览器中,点击下载链接无法下载应用。那么针对这些浏览器我们需要给用户提示从safari或者系统自带的浏览器打开分享页面。通过js就可以判断当前页面是在什么浏览器打开的。

以下是一段示例代码,注释中表明了通过JS如何判断是否在微信浏览器打开,是否在QQ空间浏览器,是否在新浪微博打开。当然可以做得更完善一点,再加上判断是在移动设备打开还是在PC端浏览器打开的,更加细分一点,可以判断是在安卓系统的浏览器打开的还是IOS系统浏览器打开的。

if (browser.versions.mobile) {//判断是否是移动设备打开。browser代码在下面
    var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
    if (ua.match(/MicroMessenger/i) == "micromessenger") {
        //在微信中打开
    }
    if (ua.match(/WeiBo/i) == "weibo") {
        //在新浪微博客户端打开
    }
    if (ua.match(/QQ/i) == "qq") {
        //在QQ空间打开
    }
    if (browser.versions.ios) {
        //是否在IOS浏览器打开
    } 
    if(browser.versions.android){
        //是否在安卓浏览器打开
    }
} else {
    //否则就是PC浏览器打开
}

再附上browser的代码,通过以下方法可以判断很多浏览器。包括判断IE浏览器,Opera浏览器,苹果浏览器,谷歌浏览器,火狐浏览器等。

var browser = {
  versions: function () {
    var u = navigator.userAgent, app = navigator.appVersion;
    return {     //移动终端浏览器版本信息
      trident: u.indexOf('Trident') > -1, //IE内核
      presto: u.indexOf('Presto') > -1, //opera内核
      webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
      gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
      mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
      ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
      android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或uc浏览器
      iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
      iPad: u.indexOf('iPad') > -1, //是否iPad
      webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
    };
  }(),
  language: (navigator.browserLanguage || navigator.language).toLowerCase()
}

以上这篇JS判断是否在微信浏览器打开的简单实例(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
调试Javascript代码(浏览器F12及VS中debugger关键字)
Jan 25 Javascript
早该知道的7个JavaScript技巧
Mar 27 Javascript
CSS3,HTML5和jQuery搜索框集锦
Dec 02 Javascript
Javascript中获取对象的原型对象的方法小结
Feb 25 Javascript
一篇文章掌握RequireJS常用知识
Jan 26 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
Oct 21 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
Dec 06 Javascript
jQuery插件Echarts实现的渐变色柱状图
Mar 23 jQuery
AngularJS动态绑定ng-options的ng-model实例代码
Jun 21 Javascript
使用JS编写的随机抽取号码的小程序
Aug 11 Javascript
JavaScript使用表单元素验证表单的示例代码
Aug 20 Javascript
React实现评论的添加和删除
Oct 20 Javascript
jquery实现ajax提交表单信息的简单方法(推荐)
Aug 24 #Javascript
AngularJS下对数组的对比分析
Aug 24 #Javascript
AngularJS  $modal弹出框实例代码
Aug 24 #Javascript
AngularJS中比较两个数组是否相同
Aug 24 #Javascript
javascript深拷贝(deepClone)详解
Aug 24 #Javascript
js实现无缝循环滚动
Jun 23 #Javascript
jquery实现网页定位导航
Aug 23 #Javascript
You might like
PHP中Session的概念
2006/10/09 PHP
php 静态页面中显示动态内容
2009/08/14 PHP
php 文件上传代码(限制jpg文件)
2010/01/05 PHP
php计算整个目录大小的方法
2015/06/01 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
PHP实现通过二维数组键值获取一维键名操作示例
2019/10/11 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
javascript 建设银行登陆键盘
2008/06/10 Javascript
js event事件的传递与冒泡处理
2009/12/06 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
jquery easyUI中ajax异步校验用户名
2016/08/19 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
python高阶爬虫实战分析
2018/07/29 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
sklearn和keras的数据切分与交叉验证的实例详解
2020/06/19 Python
python 字符串格式化的示例
2020/09/21 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
2021/01/28 Python
澳大利亚相机之家:Camera House
2017/11/30 全球购物
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
法国隐形眼镜网站:VisionDirect.fr
2020/03/03 全球购物
客服端调用EJB对象的几个基本步骤
2012/01/15 面试题
快递业务员岗位职责
2014/01/06 职场文书
《燕子》教学反思
2014/02/18 职场文书
民事授权委托书范文
2014/08/02 职场文书
绿色小区申报材料
2014/08/22 职场文书
交通安全横幅标语
2014/10/07 职场文书
2014年评职称工作总结
2014/11/20 职场文书
应聘教师求职信范文
2015/03/20 职场文书
Python办公自动化之Excel(中)
2021/05/24 Python