最近做很多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, //是否iPadwebApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
        };}(),language: (navigator.browserLanguage || navigator.language).toLowerCase()
}

转载于:https://www.cnblogs.com/leejersey/p/4704837.html

JS判断是否在微信浏览器打开相关推荐

  1. js判断是否在微信浏览器中打开

    js判断是否在微信浏览器中打开 function is_weixn(){ var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroM ...

  2. Js判断是否在微信浏览器中打开和微信版本号

    一.判断微信版本号 var wechatInfo = navigator.userAgent.match(/MicroMessenger\\/([\\d\\.]+)/i) ; if( !wechatI ...

  3. h5页面提示只能在微信浏览器中打开_h5移动端开发 判断只能在微信浏览器打开...

    在开发的过程中可能会遇到项目只能在微信浏览器打开的需求,那么只需要在项目的页面添加以下代码即可(单页面应用在入口文件添加即可). var ua = navigator.userAgent.toLowe ...

  4. js判断是否是微信浏览器或者支付宝浏览器

    微信浏览器验证1 let ua = window.navigator.userAgent.toLowerCase() if (ua.match(/MicroMessenger/i) == 'micro ...

  5. js判断是否在微信浏览器中打开网页

    JS判断方法 function is_weixn(){ var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/ ...

  6. js判断是否为微信浏览器(vue、react)

    初心-杨瑞超个人博客诚邀您加入qq群(IT-程序猿-技术交流群): 757345416丨(IT-程序猿-技术交流2群): 936929828 在开发中,有时候在h5网页中有下载链接,然后微信浏览器不支 ...

  7. js判断是否是在微信浏览器打开

    标题js判断是否是在微信浏览器打开 一.直接判断是否是在微信浏览器打开的 (1)法1: function is_weixn(){ var ua = navigator.userAgent.toLowe ...

  8. html判断是否在微信里打开,JavaScript判断浏览器内核,微信打开自动提示在浏览器打开...

    微信会屏蔽 URL 自定义的 scheme ,导致无法跳转手机中的浏览器.网上有一些工具类网站可以实现直接跳转浏览器,之后有机会我会整理一下.我们今天只讨论通过 JavaScript 判断是否在微信浏 ...

  9. 设置网页只允许在手机微信浏览器打开

    只能在手机微信浏览器打开 js前端的代码 $(function(){var ua = navigator.userAgent.toLowerCase();var isWeixin = ua.index ...

  10. 微信公众号H5开发,在微信浏览器打开H5,无法一键下载图片

    微信公众号H5开发,在微信浏览器打开H5,无法一键下载图片 背景 解决方案 文章参考 背景 微信公众号H5开发,在普通浏览器,可以直接通过以下代码下载图片: let a = document.crea ...

最新文章

  1. Python之Fabric
  2. 华尔街风暴的深层原因
  3. 杏树林孙文亮:在线医疗数据驱动实战
  4. MVC把表格导出到Excel
  5. J storm战队成员_DOTA2J.Storm战队介绍-DOTA2ESL孟买站预选赛J.Storm战队介绍_牛游戏网攻略...
  6. linux 运行pfx文件,Linux下pfx证书导出key和crt
  7. Linux下Java连接数据库出现 Access denied for user 'root'@'localhost' (using password: YES)错误
  8. oracle数据库看开销,【Database】AIX系统下跟踪开销大的Oracle数据库进程
  9. 蚁群算法求TSP问题matlab代码
  10. UE5 C++教程(三、多人游戏网络基础)
  11. 计算机连接小米usb驱动,win10系统安装小米usb驱动的详细步骤
  12. 基于51单片机和 ADC0808 ADC0809的自动数字电压表proteus仿真程序设计
  13. (休息几天)读曼昆之微观经济学——公共物品和资源
  14. JS、H5调用手机相册摄像头以及文件夹
  15. Pina Colada Song现实版
  16. 【转载】WAMP5:PHP环境整合安装(图解)及密码设置图解
  17. 我的世界java版如何加入hypixel_我的世界hypixel服务器怎么组队 hypixel服务器组队方法介绍...
  18. EasyExcel 中文文档
  19. 服务器主板插显卡进不了系统,关于换了显卡后进不了系统的问题
  20. 用户交易数据分析 - 投资绩效归因分析-Brision模型

热门文章

  1. 你是愛我還是需要我?
  2. patterns practices Security Guidance for Applications Index
  3. 转 ---《协程小结》
  4. 基础之 window-self-top-opener
  5. 《管理3.0》读书笔记
  6. poj3233Matrix Power Series
  7. 华为、海康--硬件工程师面经
  8. java day52【综合案例day04】
  9. 变革中国:市场经济的中国之路
  10. 使用寻路算法写的一个小项目