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 相关文章推荐
javascript 遍历验证所有文本框的值
Aug 27 Javascript
javascript放大镜效果的简单实现
Dec 09 Javascript
jquery+php随机生成红包金额数量代码分享
Aug 27 Javascript
JavaScript中document.referrer的用法详解
Jul 04 Javascript
JS传播事件、取消事件默认行为、阻止事件传播详解
Aug 14 Javascript
JS数组交集、并集、差集的示例代码
Aug 23 Javascript
使用ajax的post同步执行(实现方法)
Dec 21 Javascript
LayerClose弹窗关闭刷新方法
Aug 17 Javascript
详解Vue CLI 3.0脚手架如何mock数据
Nov 23 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
Jul 21 Javascript
Javascript confirm多种使用方法解析
Sep 25 Javascript
JS实现可以用键盘方向键控制的动画
Dec 11 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截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
中英文字符串翻转函数
2008/12/09 PHP
PHP Stream_*系列函数
2010/08/01 PHP
教你如何快捷的使用cmd访问mysql小技巧
2014/05/26 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
PHP7新增函数
2021/03/09 PHP
js null undefined 空区别说明
2010/06/13 Javascript
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
什么是JavaScript注入攻击?
2016/09/14 Javascript
利用JavaScript实现拖拽改变元素大小
2016/12/14 Javascript
JavaScript实现向select下拉框中添加和删除元素的方法
2017/03/07 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
bootstrap treeview 树形菜单带复选框及级联选择功能
2018/06/08 Javascript
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
Python实现购物车功能的方法分析
2017/11/10 Python
python实现本地图片转存并重命名的示例代码
2018/10/27 Python
python通过ffmgep从视频中抽帧的方法
2018/12/05 Python
python进程和线程用法知识点总结
2019/05/28 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
python 实现简单的FTP程序
2019/12/27 Python
python实现最短路径的实例方法
2020/07/19 Python
澳大利亚领先的内衣店:Bendon Lingerie澳大利亚
2020/05/15 全球购物
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
党章培训心得体会
2014/09/04 职场文书
终止劳动合同协议书
2014/10/05 职场文书
群众路线教育实践活动个人对照检查材料思想汇报(社区班子)
2014/10/06 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
歌咏比赛主持词
2015/06/29 职场文书