JS简单判断是否在微信浏览器打开的方法示例


Posted in Javascript onJanuary 08, 2019

本文实例讲述了JS简单判断是否在微信浏览器打开的方法。分享给大家供大家参考,具体如下:

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

<script>
    var ua = navigator.userAgent.toLowerCase();
    var isWeixin = ua.indexOf('micromessenger') != -1;
    if (!isWeixin) {
      window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=888"
    }
</script>

只要不是在微信内部打开网页的,就会跳转提示页面,appid必写,可随意写,也可以写已获取的。

还是觉得跳转比较好,防止别人查看自己的代码。

以下是一段示例代码,注释中表明了通过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()
}
Javascript 相关文章推荐
JQuery浮动DIV提示信息并自动隐藏的代码
Aug 29 Javascript
javascript一些实用技巧小结
Mar 18 Javascript
深入理解JavaScript是如何实现继承的
Dec 12 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
Aug 20 Javascript
JavaScript中的some()方法使用详解
Jun 09 Javascript
JS模式之单例模式基本用法
Jun 30 Javascript
高效Web开发的10个jQuery代码片段
Jul 22 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
Sep 20 Javascript
JavaScript定时器setTimeout()和setInterval()详解
Aug 18 Javascript
vue使用代理解决请求跨域问题详解
Jul 24 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
Mar 12 Javascript
详解JavaScript 的执行机制
Sep 18 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 #jQuery
Angular6 发送手机验证码按钮倒计时效果实现方法
Jan 08 #Javascript
Angular6 用户自定义标签开发的实现方法
Jan 08 #Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
Jan 08 #Javascript
关于微信小程序登录的那些事
Jan 08 #Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
Jan 08 #Javascript
关于React动态加载路由处理的相关问题
Jan 07 #Javascript
You might like
虚拟主机中对PHP的特殊设置
2006/10/09 PHP
php下检测字符串是否是utf8编码的代码
2008/06/28 PHP
ThinkPHP标签制作教程
2014/07/10 PHP
PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】
2019/02/25 PHP
显示js对象所有属性和方法的函数
2009/10/16 Javascript
js动态在form上插入enctype=multipart/form-data的问题
2012/05/24 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
通过实例解析jQ Ajax操作相关原理
2020/09/23 Javascript
Python3连接SQLServer、Oracle、MySql的方法
2018/06/28 Python
Django models.py应用实现过程详解
2019/07/29 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
Django1.11自带分页器paginator的使用方法
2019/10/31 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
Expedia西班牙:预订酒店、机票、旅行和廉价度假套餐
2019/04/10 全球购物
电子商务专业个人的自我评价
2013/11/19 职场文书
自我评价的范文
2014/02/02 职场文书
学生打架检讨书
2014/02/14 职场文书
园林技术个人的自我评价
2014/02/15 职场文书
寒假家长评语大全
2014/04/16 职场文书
安全生产月演讲稿
2014/05/09 职场文书
企业文化标语大全
2014/06/10 职场文书
消防宣传口号
2014/06/16 职场文书
注册资产评估专业求职信
2014/07/16 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
英语教师求职信范文
2015/03/20 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
《暗黑破坏神2:重制版》本周进行第一轮A测 目前可官网进行申请报名
2021/04/07 其他游戏
python获取淘宝服务器时间的代码示例
2021/04/22 Python
Python&Matlab实现樱花的绘制
2022/04/07 Python
讲解Python实例练习逆序输出字符串
2022/05/06 Python