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 相关文章推荐
js 屏蔽鼠标右键脚本附破解方法
Dec 03 Javascript
IE6下js通过css隐藏select的一个bug
Aug 16 Javascript
禁用Enter键表单自动提交实现代码
May 22 Javascript
JQuery球队选择实例
May 18 Javascript
jquery 实现输入邮箱时自动补全下拉提示功能
Oct 04 Javascript
Bootstrap每天必学之js插件
Nov 30 Javascript
JavaScript DOM 对象深入了解
Jul 20 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
Sep 18 Javascript
详解React中setState回调函数
Jun 14 Javascript
Vuex 快速入门(简单易懂)
Sep 20 Javascript
JavaScript Window窗口对象属性和使用方法
Jan 19 Javascript
微信小程序canvas开发水果老虎机的思路详解
Feb 07 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
56.com视频采集接口程序(PHP)
2007/09/22 PHP
php基本函数汇总
2015/07/09 PHP
Smarty使用自定义资源的方法
2015/08/08 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
PHP创建XML接口示例
2019/07/04 PHP
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
javascript 循环读取JSON数据的代码
2010/07/17 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
C#实现将一个字符转换为整数
2017/12/12 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
JS实现“全选”和"全不选"功能代码实例
2020/02/06 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
原生javascript单例模式的应用实例分析
2020/02/23 Javascript
[00:36]DOTA2上海特级锦标赛 Alliance战队宣传片
2016/03/04 DOTA
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
Python中turtle作图示例
2017/11/15 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
python中的反斜杠问题深入讲解
2019/08/12 Python
Python一键安装全部依赖包的方法
2019/08/12 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
python从zip中删除指定后缀文件(推荐)
2019/12/05 Python
关于Keras Dense层整理
2020/05/21 Python
详解python中的异常捕获
2020/12/15 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
HashMap和Hashtable的区别
2013/05/18 面试题
GMP办公室主任岗位职责
2014/03/14 职场文书
劳动仲裁撤诉申请书
2015/05/18 职场文书
2019年共青团工作条例最新版
2019/11/12 职场文书
HTML页面点击按钮关闭页面的多种方式
2022/12/24 HTML / CSS