使用 navigator.userAgent.toLowerCase() 区别 浏览器 类型
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() 区别 浏览器 类型的更多相关文章
- navigator.userAgent.indexOf来判断浏览器类型
navigator.userAgent.indexOf来判断浏览器类型 (2011-03-03 11:30:40) 转载▼ 标签: 杂谈 来源:http://xtaai5233.blog.163. ...
- 使用window.navigator.userAgent属性判断浏览器类型及版本
使用window.navigator.userAgent属性判断浏览器类型及版本 2011-12-11 22:03:11 window.navigator.userAgent属性包含了浏览器类型.版本 ...
- navigator.userAgent.toLowerCase();判断浏览器做兼容
js简单实例: var ua = navigator.userAgent.toLowerCase(); if (/android/.test(ua)) { $('.date>div>img ...
- 使用navigator.userAgent.toLowerCase()判断移动端类型
使用navigator.userAgent.toLowerCase()判断移动端类型 判断设备,区分Android,iphone,ipad和其它 var ua = navigator.userAgen ...
- 判断移动端设备: navigator.userAgent.toLowerCase()
判断你的浏览设备: navigator.userAgent.toLowerCase(); (返回当前用户所使用的是什么浏览器,将获得的信息变成小写) function browserRedirect( ...
- 使用navigator.userAgent来进行浏览器嗅探
/*--------------------------------------------------------------------------------* * 功能描述:使用navigat ...
- 通过userAgent判断手机浏览器类型
我们可以通过userAgent来判断,比如检测某些关键字,例如:AppleWebKit*****Mobile或AppleWebKit,需要注意的是有些浏览器的userAgent中并不包含AppleWe ...
- javascript通过navigator.userAgent识别各种浏览器
识别各种浏览器的实现原理是根据navigator.userAgent返回值识别: 实现: unction validBrowser(){ var u_agent = navigator.userAge ...
- js 不同浏览器的类型判断 navigator.userAgent
一.通过navigator.userAgent来进行浏览器类型判断 // 判断浏览器内核.手机系统等,使用 browser.userAgent.mobile var browser = { userA ...
随机推荐
- 使用RabbitMQ搭建MQTT服务
由于近期公司需要搭建一套物联网采集环境,底层设备采用MQTT协议传输数据.服务器环境为linux,考虑到现有环境已经有RabbitMQ环境,Rabbit是基于AMQP协议开发的一套高效的消息传输队列. ...
- 手写IOC实践
一.IOC 1.什么是IOC? 控制反转(英语:Inversion of Control,缩写为IoC),是[面向对象编程]中的一种设计原则,可以用来减低计算机代码之间的[耦合度]其中最常见的方式叫做 ...
- Python——连接数据库操作
一.数据库基础用法 要先配置环境变量,然后cmd安装:pip install pymysql 1.连接MySQL,并创建wzg库 #引入decimal模块 import pymysql #连接数据库 ...
- 度量驱动的DevOps实现
目录 一.简介 二.度量是什么 三.实践 四.QA问答 一.简介 Wiki上讲:DevOps(Development和Operations的组合词)是一种重视"软件开发人员(Dev)&quo ...
- Mysql-5.6 二进制多实例部署
目录 一.简介 二.环境声明 三.程序部署 一.简介 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的服务 ...
- 花授粉优化算法-python/matlab
import numpy as np from matplotlib import pyplot as plt import random # 初始化种群 def init(n_pop, lb, ub ...
- Kafka从入门到放弃(三) —— 详说生产者
上一篇对Kafka做了简单介绍,还没看的朋友可以点击下方链接. Kafka从入门到放弃(一) -- 初识别Kafka 消息中间件必须与生产者和消费者一起存在才有意义,这次先来聊聊Kafka的生产者. ...
- ANTLR 语法设计
下面学习如何编写语法. 如何定义语法规则 一种语言模式就是一种递归的语法结构. 我们需要从一系列有代表性的输入文件中归纳出一门语言的结构.在完成这样的归纳工作后,我们就可以正式使用ANTLR语法来表达 ...
- IE上的兼容性调整问题烦死啦
IE上的兼容性调整问题烦死啦 好像还得把此代码放到第一行才起作用.
- python 豆瓣top250
豆瓣电影 import re import requests headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; ...