// 判断浏览器内核、手机系统等,使用 browser.version.ios
var browser = {version: function () {var u = navigator.userAgent;var ua = navigator.userAgent.toLocaleLowerCase();var 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.*/) || !!u.match(/AppleWebKit/), // 是否为移动终端ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), // IOS终端android: u.indexOf('Android') > -1 || u.indexOf('Mac') > -1, // 安卓终端iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, // 是否为iphone或QQHD浏览器iPad: u.indexOf('iPad') > -1, // 是否为iPadwebApp: u.indexOf('Safari') == -1, // 是否web应用程序,没有头部与底部QQbrw: u.indexOf('MQQBrowser') > -1, // QQ浏览器weiXin: u.indexOf('MicroMessenger') > -1, // 微信QQ: ua.match(/QQ/i) == "qq", // QQweiBo: ua.match(/WeiBo/i) == "weibo", // 微博ucLowEnd: u.indexOf('UCWEB7.') > -1, //ucSpecial: u.indexOf('rv:1.2.3.4') > -1,webview: !(u.match(/Chrome\/([\d.]+)/) || u.match(/CriOS\/([\d.]+)/)) && u.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/),ucweb: function () {try {return parseFloat(u.match(/ucweb\d+\.\d+/gi).toString().match(/\d+\.\d+/).toString()) >= 8.2} catch (e) {if (u.indexOf('UC') > -1) {return true;}return false;}}(),Symbian: u.indexOf('Symbian') > -1,ucSB: u.indexOf('Firofox/1.') > -1};}()
};
  1. 一般的客户端环境直接调用browser.version.xx进行判断即可
  2. 但是使用browser.version.QQ时,在QQ客户端和QQ浏览器中均返回true,所以无法判断。
  3. 但是的但是,还有一个browser.version.QQbrw可以用来判断是否为QQ浏览器
  4. 所以的所以,通过(browser.version.QQ && !browser.version.QQbrw)组合,不就可以判断是否为QQ客户端了么?(机智脸^-^)

JS 判断客户端环境(以及如何区分QQ客户端和QQ浏览器)相关推荐

  1. js判断运行环境是手机还是 PC

    js判断运行环境是手机还是 PC function IsPC() {var userAgentInfo = navigator.userAgent; // 包含有关浏览器的信息// 非手机端var A ...

  2. js判断移动端,pc端,安卓,苹果浏览器的方法

    js 判断安卓或者ios 之indexOf方式(一) //判断访问终端 var browser={versions:function(){var u = navigator.userAgent, ap ...

  3. JS判断手机端是否安装了某个客户端APP

    虽然在Js中可以启动某个app,但是并不能判断该app是否安装: 但是,但是....还是有奇思淫巧滴,启动app需要的时间较长,js中断时间长,如果没安装,js瞬间就执行完毕.直接上代码吧! html ...

  4. js判断当前是pc端、移动端、IE浏览器

    是否是pc端. function isPc() {var userAgentInfo = navigator.userAgent;var Agents = ["Android", ...

  5. 第三方浏览器h5 android测试,H5案例分享:使用JS判断客户端、浏览器、操作系统类型...

    使用JS判断客户端.浏览器.操作系统类型 一.JS判断客户端类型 JS判断客户端是否是iOS或者Android手机移动端 通过判断浏览器的userAgent,用正则来判断手机是否是ios和Androi ...

  6. JS判断是否是ioS或者Android

    JS判断是否是ioS或者Android 每个客户端都带有自身的UA标识,通过JavaScript,可以获取客户端标识,我们可以获取浏览器的userAgent,用正则来判断手机是ios(苹果)还是And ...

  7. JS判断当前页面是在 QQ客户端/微信客户端/iOS浏览器/Android浏览器/PC客户端

    browser.js var browser = {versions: function () {var u = navigator.userAgent, app = navigator.appVer ...

  8. js判断浏览器环境、内核、载体、外壳、操作系统等

    我们部署在Web服务器上的前端应用,既可以用PC浏览器访问,也可以用手机浏览器访问.项目中很多时候会遇到判断浏览器环境的问题,比如说微信浏览器/APP环境,ios/安卓环境:浏览器是JavaScrip ...

  9. 谷歌浏览器模拟微信/QQ内置浏览器调试及js判断方法

    模拟微信及QQ内置浏览器主要是通过判断浏览器的 UA 来进行区别. 安卓 QQ 内置浏览器 UA: Mozilla/5.0 (Linux; Android 5.0; SM-N9100 Build/LR ...

最新文章

  1. web service
  2. C语言 使用指针对两个变量的数值进行互换
  3. 一文读懂CoIP实验:原理、实验流程、遇到的问题
  4. kafka读写速度快的原因
  5. java图片转字符_java实现图片转字符图(看的过去的亚子)
  6. Tensorflow--图
  7. vscode 语法检查_Jenkins 声明式流水线的语法错误检查
  8. phpcms的一些问题 乱码,安装
  9. nvm use切换node版本,但是切换后没有*号
  10. Android 拷贝Asset目录下文件或者文件夹
  11. C# 对密码等数据进行对称性加密解密
  12. 联想y470上三代cpu_联想Y470笔记本i3处理器能换i5或者i7处理器嘛?
  13. mysql分组求和_mysql 行转列,对列的分组求和,对行求和
  14. js获取浏览器内各种高度宽度总结
  15. vs2010 vs2012 插件小番茄 visual assist x破解版下载
  16. 【干货】梁宁产品思维50页PPT丨从一无所有,到整个世界(提供高清下载)
  17. 英语老师唱歌软件测试,小学英语教师课堂用语测试题
  18. [cf] Deltix Round, Autumn 2021 A. Divide and Multiply
  19. Mysql语法大全(命令行)(简洁、明了、全面)
  20. php deployer 从入门到精通

热门文章

  1. 提问技巧(特别适用IT)
  2. 东京奥运会将采用人脸识别系统 加强安检
  3. 简介IntelliJ IDEAD
  4. python中ox_Python中os包的用法
  5. 微信趣味测评小程序独立版源码
  6. 数据库原理与设计P163习题9答案
  7. linux上部署K8S集群
  8. SEO快排真的有效吗?什么样的快排才靠谱?
  9. seo快排工具真的有用吗?免费SEO手法网站快排技术分享
  10. python点阵显示数字_程序点滴001_Python模拟点阵数字