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 相关文章推荐
jquery遍历input取得input的name
Apr 27 Javascript
js判断上传文件类型判断FileUpload文件类型代码
May 20 Javascript
原生js制作简单的数字键盘
Apr 24 Javascript
Boostrap入门准备之border box
May 09 Javascript
js判断空对象的实例(超简单)
Jul 26 Javascript
几种tab切换详解
Feb 03 Javascript
基于jQuery实现简单人工智能聊天室
Feb 10 Javascript
jquery实现图片放大点击切换
Jun 06 jQuery
JavaScript实现三级联动效果
Jul 15 Javascript
angularJs提交文本框数据到后台的方法
Oct 08 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
Dec 16 Javascript
如何利用JavaScript编写一个格斗小游戏
Jan 06 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和ACCESS写聊天室(八)
2006/10/09 PHP
PHP filter_var() 函数 Filter 函数
2012/04/25 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
详解js异步文件加载器
2016/01/24 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
KindEditor在php环境下上传图片功能集成的方法示例
2020/07/20 PHP
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
js中的string.format函数代码
2020/08/11 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
JS获取地址栏参数的小例子
2013/08/23 Javascript
jquery中邮箱地址 URL网站地址正则验证实例代码
2013/09/15 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
2014/05/12 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
javascript合并表格单元格实例代码
2016/01/03 Javascript
jQuery插件formValidator实现表单验证
2016/05/23 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
全站最详细的Vuex教程
2018/04/13 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
layui实现给某一列加点击事件
2019/10/26 Javascript
vue element自定义表单验证请求后端接口验证
2019/12/11 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
python生成1行四列全2矩阵的方法
2018/08/04 Python
python的pip安装以及使用教程
2018/09/18 Python
Python (Win)readline和tab补全的安装方法
2019/08/27 Python
Python Socketserver实现FTP文件上传下载代码实例
2020/03/27 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
python中return不返回值的问题解析
2020/07/22 Python
实习报告评语
2014/04/26 职场文书
运动会稿件100字
2014/09/24 职场文书
介绍信格式
2015/01/30 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS