userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值

var ua = navigator.userAgent.toLowerCase();

返回的是个字符串

观察几个软件:

(1)iphone ,夸克浏览器

(2)iphone ,QQ浏览器

(3)iphone ,QQ内置浏览器

(4)iphone ,微信 内置浏览器

(5)iphone ,搜狗浏览器

//////

/////下面的是安卓的

(6) android ,QQ浏览器

(7)android,微信 内置浏览器

。。。。

其他的就不找了,每个浏览器都有自己独特的 字符,不同系统也是一样,包括pc

下面是用来区分不同系统的不同浏览器的啊操作源码

识别源码模板:

 1 /**
2 * 经过测试,iphone 手机 的QQ浏览器和QQ内置浏览器,无法连接websocket
3 * 因此这个文件功能是不允许他们访问本网页
4 *
5 */
6
7
8 //获取浏览器用于 HTTP 请求的用户代理头的值
9 var ua = navigator.userAgent.toLowerCase();
10 var canUse =true ,reason = "";
11 // alert(ua);
12 // isWx = false,isQQ = false, isQQInstalled = false;
13 function BrowserCompatible() {
14 //有 qq 关键字 且不存在 mqqbrowser 关键字 则为QQ内置浏览器
15 if (ua.indexOf(' qq') > -1 && ua.indexOf('mqqbrowser') < 0 && ua.indexOf('micromessenger') < 0) {
16 //qq内置浏览器
17 // isQQInstalled = true;
18 if (ua.indexOf('iphone')){
19 //iphone 手机
20 canUse = false;
21 reason = "苹果手机 qq内置浏览器,禁止访问,请使用微信或Safari";
22 alert(reason);
23 window.close();
24 }
25 return;
26 }
27 //
28 if (ua.indexOf('mqqbrowser') > -1 && ua.indexOf(" qq") < 0 && ua.indexOf('micromessenger') < 0) {
29 //qq浏览器
30 // isQQ = true;
31 if (ua.indexOf('iphone')){
32 //iphone 手机
33 canUse = false;
34 reason = "苹果手机 qq浏览器,禁止访问,请使用微信或Safari";
35 alert(reason);
36 window.close();
37 }
38 return;
39 }
40 // if (ua.match(/MicroMessenger/i) == 'micromessenger') {
41 if (ua.indexOf('micromessenger') > -1) {
42 //微信浏览器
43 // isWx = true;
44 if (ua.indexOf('iphone')){
45 //iphone 手机
46 alert("苹果手机 微信内置浏览器");
47 window.close();
48 }
49 return;
50 }
51 alert("其他")
52 }
53
54 BrowserCompatible();

使用 navigator.userAgent.toLowerCase() 区别 浏览器 类型的更多相关文章

  1. navigator.userAgent.indexOf来判断浏览器类型

    navigator.userAgent.indexOf来判断浏览器类型 (2011-03-03 11:30:40) 转载▼ 标签: 杂谈   来源:http://xtaai5233.blog.163. ...

  2. 使用window.navigator.userAgent属性判断浏览器类型及版本

    使用window.navigator.userAgent属性判断浏览器类型及版本 2011-12-11 22:03:11 window.navigator.userAgent属性包含了浏览器类型.版本 ...

  3. navigator.userAgent.toLowerCase();判断浏览器做兼容

    js简单实例: var ua = navigator.userAgent.toLowerCase(); if (/android/.test(ua)) { $('.date>div>img ...

  4. 使用navigator.userAgent.toLowerCase()判断移动端类型

    使用navigator.userAgent.toLowerCase()判断移动端类型 判断设备,区分Android,iphone,ipad和其它 var ua = navigator.userAgen ...

  5. 判断移动端设备: navigator.userAgent.toLowerCase()

    判断你的浏览设备: navigator.userAgent.toLowerCase(); (返回当前用户所使用的是什么浏览器,将获得的信息变成小写) function browserRedirect( ...

  6. 使用navigator.userAgent来进行浏览器嗅探

    /*--------------------------------------------------------------------------------* * 功能描述:使用navigat ...

  7. 通过userAgent判断手机浏览器类型

    我们可以通过userAgent来判断,比如检测某些关键字,例如:AppleWebKit*****Mobile或AppleWebKit,需要注意的是有些浏览器的userAgent中并不包含AppleWe ...

  8. javascript通过navigator.userAgent识别各种浏览器

    识别各种浏览器的实现原理是根据navigator.userAgent返回值识别: 实现: unction validBrowser(){ var u_agent = navigator.userAge ...

  9. js 不同浏览器的类型判断 navigator.userAgent

    一.通过navigator.userAgent来进行浏览器类型判断 // 判断浏览器内核.手机系统等,使用 browser.userAgent.mobile var browser = { userA ...

随机推荐

  1. Set数据结构基本介绍

    构造 const set = new Set([1, 2, 3, 4, 4]); 可接受的参数为所有具有iterable 接口的数据 特性: 类似数组,无重复值. const set = new Se ...

  2. Iphone开源项目汇总

    扫描wifi信息: http://code.google.com/p/uwecaugmentedrealityproject/ http://code.google.com/p/iphone-wire ...

  3. Mybatis中原生DAO实现和Mapper动态代理实现

    Mybatis开发dao的方法通常用两种,一种是传统DAO的方法,另一种是基于mapper代理的方法. 一.传统DAO方式开发 1.sql语句映射文件编写 User.xml <?xml vers ...

  4. AtCoder Beginner Contest 184 题解

    AtCoder Beginner Contest 184 题解 目录 AtCoder Beginner Contest 184 题解 A - Determinant B - Quizzes C - S ...

  5. 【大咖直播】Elastic 企业搜索实战工作坊(第二期)

    借助 App Search 提供的内置功能,您可轻松打造卓越的搜索体验.直观的相关度调整以及开箱即用的搜索分析,不仅可以优化所提供的内容,其提供的 API 还可帮助您将位于各处的所有内容源关联在一起. ...

  6. LeetCode Top 100 Liked 点赞最高的 100 道算法题

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:刷题顺序,刷题路径,好题,top100,怎么刷题,Leet ...

  7. 【LeetCode】1208. 尽可能使字符串相等 Get Equal Substrings Within Budget (Python)

    作者: 负雪明烛 id: fuxuemingzhu 公众号:每日算法题 本文关键词:LeetCode,力扣,算法,算法题,字符串,并查集,刷题群 目录 题目描述 示例 解题思路 滑动窗口 代码 刷题心 ...

  8. 【LeetCode】 204. Count Primes 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 素数筛法 参考资料 日期 [LeetCode] 题目 ...

  9. 【九度OJ】题目1169:比较奇偶数个数 解题报告

    [九度OJ]题目1169:比较奇偶数个数 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1169 题目描述: 第一行输入一个数,为n, ...

  10. 【九度OJ】题目1028:继续畅通工程 解题报告

    [九度OJ]题目1028:继续畅通工程 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1028 题目描述: 省政府" ...