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. SpringMvc分析

    1.用户单击某个请求路径,发起一个request请求,此请求会被前端控制器(DispatcherServlet)处理 2.前端控制器(DispatcherServlet)请求处理器映射器(Handle ...

  2. 【笔记】草履虫也能看懂的ELK搭建流程

    环境需要 Elasticsearch需要JAVA环境,至少是JDK1.8 elasticsearch 不允许root用户使用,需要新增个elk用户 如果觉得官网下载太慢,可以使用这个 https:// ...

  3. [BUUCTF]PWN——ciscn_2019_s_4

    ciscn_2019_s_4 附件 步骤: 例行检查,32位程序,开启了nx保护 本地试运行一下,看看大概的情况,两次输入,让人联想到栈迁移 32位ida载入,找到关键函数,只可以溢出8字节,没法构造 ...

  4. PDF补丁丁将发布开放源代码的1.0版本

    近况 一个月前的今天,母亲永远离开了我. 想起四个月前,我送她了去住院.入院后,做了检查.检查结果没出,我的生日就到了.母亲很关心我的生日.在电话里,她祝我身体健康,又问媳妇有没有给我做生日餐桌的菜肴 ...

  5. Arduino对智能机器人进行简单编程

    Arduino对智能机器人进行简单编程 #include "ESP8266.h" #define TRIG_PIN 5 #define ECHO_PIN A5 #define BE ...

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

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

  7. LuoguP7505 「Wdsr-2.5」小小的埴轮兵团 题解

    Content 给出一个范围为 \([-k,k]\) 的数轴,数轴上有 \(n\) 个点,第 \(i\) 个点的位置为 \(a_i\).有 \(m\) 次操作,有且仅有以下三种: 1 x:所有点往右移 ...

  8. 使用unc0ver(5.3.1)执行jailbreak踩坑

    官方网站: https://unc0ver.dev/ 目前版本: 5.3.1 使用mac os+altstore步骤: AltStore Download AltStore. Use the link ...

  9. 【九度OJ】题目1018:统计同成绩学生人数 解题报告

    [九度OJ]题目1018:统计同成绩学生人数 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1018 题目描述: ...

  10. 【LeetCode】78. Subsets 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 回溯法 日期 题目地址:https://leet ...