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 相关文章推荐
在线编辑器中换行与内容自动提取
Apr 24 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
Jun 23 Javascript
js实现拉伸拖动iframe的具体代码
Aug 03 Javascript
js实现页面跳转的几种方法小结
May 16 Javascript
利用Javascript实现BMI计算器
Aug 16 Javascript
javascript判断回文数详解及实现代码
Feb 03 Javascript
AngularJS中的promise用法分析
May 19 Javascript
用最少的JS代码写出贪吃蛇游戏
Jan 12 Javascript
基于vue.js中事件修饰符.self的用法(详解)
Feb 23 Javascript
egg.js的基本使用和调用数据库的方法示例
May 18 Javascript
基于Element封装一个表格组件tableList的使用方法
Jun 29 Javascript
react中props 的使用及进行限制的方法
Apr 28 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 缓存实现代码及详细注释
2010/05/16 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
使用URL传输SESSION信息
2015/07/14 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
php 生成加密公钥加密私钥实例详解
2017/06/16 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
调试php程序的简单步骤
2019/10/04 PHP
IE DOM实现存在的部分问题及解决方法
2009/07/25 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
Javascript基础教程之比较操作符
2015/01/18 Javascript
jQuery插件开发精品教程让你的jQuery提升一个台阶
2016/01/27 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
JavaScript实现相册弹窗功能(zepto.js)
2016/06/21 Javascript
JS for循环中i++ 和 ++i的区别介绍
2016/07/20 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
[03:40]2014DOTA2国际邀请赛 B神专访:躲箭真的很难
2014/07/13 DOTA
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
django与小程序实现登录验证功能的示例代码
2019/02/19 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
Django在Model保存前记录日志实例
2020/05/14 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
使用Html5实现异步上传文件,支持跨域,带有上传进度条
2016/09/17 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
一加手机美国官方网站:OnePlus美国
2019/09/19 全球购物
寒假思想汇报
2014/01/10 职场文书
大学同学聚会邀请函
2014/01/19 职场文书
《盲人摸象》教学反思
2014/02/16 职场文书
申请吧主发表的感言
2015/08/03 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android