JS 判断客户端环境(以及如何区分QQ客户端和QQ浏览器)
2017-08-25 11:13
441 查看
// 判断浏览器内核、手机系统等,使用 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, // 是否为iPad webApp: u.indexOf('Safari') == -1, // 是否web应用程序,没有头部与底部 QQbrw: u.indexOf('MQQBrowser') > -1, // QQ浏览器 weiXin: u.indexOf('MicroMessenger') > -1, // 微信 QQ: ua.match(/QQ/i) == "qq", // QQ weiBo: 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 }; }() };
一般的客户端环境直接调用browser.version.xx进行判断即可
但是使用browser.version.QQ时,在QQ客户端和QQ浏览器中均返回true,所以无法判断。
但是的但是,还有一个browser.version.QQbrw可以用来判断是否为QQ浏览器
所以的所以,通过(browser.version.QQ && !browser.version.QQbrw)组合,不就可以判断是否为QQ客户端了么?(机智脸^-^)
相关文章推荐
- ios使用友盟分享到QQ/微信时时如何判断手机上是否安装了QQ以及微信的客户端
- 进程环境之共享库以及如何区分静态库、共享库和动态加载库
- js如何判断客户端类型
- js如何判断客户端类型
- JS如何判断浏览器类型和详细区分IE各版本浏览器
- JS判断客户端是否是iOS或者Android,js判断是不是qq,js判断是否是移动端,跳转到相应的页面
- 360极速浏览器UA怪异以及如何用js判断360浏览器
- js如何判断客户端是iOS还是Android等移动终端
- Js如何判断客户端是PC还是手持设备简单分析
- js如何判断客户端及IE版本
- js如何判断客户端是iOS还是Android等移动终端
- javascript判断浏览器和终端类型,js如何区分手机、电脑终端和浏览器
- js如何判断QQ号码是否输入正确?
- Jquery如何序列化form表单数据为JSON对象 C# ADO.NET中设置Like模糊查询的参数 从客户端出现小于等于公式符号引发检测到有潜在危险的Request.Form 值 jquery调用iframe里面的方法 Js根据Ip地址自动判断是哪个城市 【我们一起写框架】MVVM的WPF框架(三)—数据控件 设计模式之简单工厂模式(C#语言描述)
- js判断是否安装了客户端(针对IE,IE6除外)以及表单提交方式打开新页面
- js如何判断QQ号码是否输入正确?
- 手把手教你搭建智能合约测试环境、开发、编译、部署以及如何通过JS调用合约方法
- JS如何判断浏览器类型和详细区分IE各版本浏览器
- js如何判断客户端是iOS还是Android等移动终端
- Js如何判断客户端是PC还是手持设备简单分析