JS 判断客户端环境(以及如何区分QQ客户端和QQ浏览器)
// 判断浏览器内核、手机系统等,使用 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};}()
};
- 一般的客户端环境直接调用browser.version.xx进行判断即可
- 但是使用browser.version.QQ时,在QQ客户端和QQ浏览器中均返回true,所以无法判断。
- 但是的但是,还有一个browser.version.QQbrw可以用来判断是否为QQ浏览器
- 所以的所以,通过(browser.version.QQ && !browser.version.QQbrw)组合,不就可以判断是否为QQ客户端了么?(机智脸^-^)
JS 判断客户端环境(以及如何区分QQ客户端和QQ浏览器)相关推荐
- js判断运行环境是手机还是 PC
js判断运行环境是手机还是 PC function IsPC() {var userAgentInfo = navigator.userAgent; // 包含有关浏览器的信息// 非手机端var A ...
- js判断移动端,pc端,安卓,苹果浏览器的方法
js 判断安卓或者ios 之indexOf方式(一) //判断访问终端 var browser={versions:function(){var u = navigator.userAgent, ap ...
- JS判断手机端是否安装了某个客户端APP
虽然在Js中可以启动某个app,但是并不能判断该app是否安装: 但是,但是....还是有奇思淫巧滴,启动app需要的时间较长,js中断时间长,如果没安装,js瞬间就执行完毕.直接上代码吧! html ...
- js判断当前是pc端、移动端、IE浏览器
是否是pc端. function isPc() {var userAgentInfo = navigator.userAgent;var Agents = ["Android", ...
- 第三方浏览器h5 android测试,H5案例分享:使用JS判断客户端、浏览器、操作系统类型...
使用JS判断客户端.浏览器.操作系统类型 一.JS判断客户端类型 JS判断客户端是否是iOS或者Android手机移动端 通过判断浏览器的userAgent,用正则来判断手机是否是ios和Androi ...
- JS判断是否是ioS或者Android
JS判断是否是ioS或者Android 每个客户端都带有自身的UA标识,通过JavaScript,可以获取客户端标识,我们可以获取浏览器的userAgent,用正则来判断手机是ios(苹果)还是And ...
- JS判断当前页面是在 QQ客户端/微信客户端/iOS浏览器/Android浏览器/PC客户端
browser.js var browser = {versions: function () {var u = navigator.userAgent, app = navigator.appVer ...
- js判断浏览器环境、内核、载体、外壳、操作系统等
我们部署在Web服务器上的前端应用,既可以用PC浏览器访问,也可以用手机浏览器访问.项目中很多时候会遇到判断浏览器环境的问题,比如说微信浏览器/APP环境,ios/安卓环境:浏览器是JavaScrip ...
- 谷歌浏览器模拟微信/QQ内置浏览器调试及js判断方法
模拟微信及QQ内置浏览器主要是通过判断浏览器的 UA 来进行区别. 安卓 QQ 内置浏览器 UA: Mozilla/5.0 (Linux; Android 5.0; SM-N9100 Build/LR ...
最新文章
- web service
- C语言 使用指针对两个变量的数值进行互换
- 一文读懂CoIP实验:原理、实验流程、遇到的问题
- kafka读写速度快的原因
- java图片转字符_java实现图片转字符图(看的过去的亚子)
- Tensorflow--图
- vscode 语法检查_Jenkins 声明式流水线的语法错误检查
- phpcms的一些问题 乱码,安装
- nvm use切换node版本,但是切换后没有*号
- Android 拷贝Asset目录下文件或者文件夹
- C# 对密码等数据进行对称性加密解密
- 联想y470上三代cpu_联想Y470笔记本i3处理器能换i5或者i7处理器嘛?
- mysql分组求和_mysql 行转列,对列的分组求和,对行求和
- js获取浏览器内各种高度宽度总结
- vs2010 vs2012 插件小番茄 visual assist x破解版下载
- 【干货】梁宁产品思维50页PPT丨从一无所有,到整个世界(提供高清下载)
- 英语老师唱歌软件测试,小学英语教师课堂用语测试题
- [cf] Deltix Round, Autumn 2021 A. Divide and Multiply
- Mysql语法大全(命令行)(简洁、明了、全面)
- php deployer 从入门到精通