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. IO中同步异步,阻塞与非阻塞 -- 原理篇

    再补一篇高手写的理论分析,便于更深刻理解 转自:http://blog.csdn.net/historyasamirror/article/details/5778378 ============== ...

  2. ciscn_2019_c_1 1

    步骤: 先checksec,看一下开启了什么保护 可以看到开启了nx保护,然后把程序放入ida里面,观察程序代码 先shift+f12观察是否有system和binsh函数 发现没有system和bi ...

  3. [BUUCTF]REVERSE——简单注册器

    简单注册器 附件 步骤: apk文件,直接用apkide打开 去找反编译后的文件,反编译后的语言并没有看大懂,网上百度后找到了一个反编的神器jeb,下载地址 用它反编译后按tab,就能看懂代码了,搜索 ...

  4. pdf文件在线预览

    使用pdfjs技术实现PDF的在线预览功能. 目录 1.官网下载pdf.js 2. 将下载下来的文件全部复制 3. js使用 4. java IO流 1.官网下载pdf.js 2. 将下载下来的文件全 ...

  5. 拆分函数Splitter.Split…(Power Query 之 M 语言)

    按相同分隔符拆分: =Splitter.SplitTextByDelimiter("拆分符号", 引号字符) 拆分符号 直接输入 特殊符号 制表符:#(tab) 回车:#(cr) ...

  6. LuoguB2013 温度表达转化 题解

    Content 输入华氏温度 \(F\),请将其转化为摄氏温度 \(C\),精确到小数点后 \(5\) 位. 数据范围:\(F\geqslant -459.67\). Solution 简单的输入输出 ...

  7. 【嵌入式AI】全志 XR806 OpenHarmony 鸿蒙系统固件烧录

      欢迎关注我的公众号 [极智视界],回复001获取Google编程规范   O_o   >_<   o_O   O_o   ~_~   o_O   大家好,我是极智视界,本教程详细记录了 ...

  8. Vue3.0是如何变快的

    1.diff算法优化 + Vue2中的虚拟dom是进行全量的对比 https://vue-next-template-explorer.netlify.app/ + Vue3新增了静态标记(Patch ...

  9. Python3 day6面向对象

    http://www.cnblogs.com/alex3714/articles/5188179.html ====================生活中==================== 世界 ...

  10. 使用django + KindEditor 开发个人博客系统

    前奏小知识 1. 通过url参数组合不同的过滤条件 django框架部分 1. 数据结构models from django.db import models # Create your models ...