公司要求做内部统计,要求监控客服玩游戏使用的浏览器的型号,是火狐的、谷歌的、还是IE的等等。

[code lang="javascript"]

/****
* 目前识别范围
* Microsoft Internet Explorer IE浏览器
* --> TheWorld 世界之窗
* --> TT浏览器
* --> 360浏览器
* --> 猎豹浏览器
* Mathon 傲游浏览器
* Opera Opera浏览器
* Firefox 火狐浏览器
* Chrome Chrome浏览器
* */
var browseInfo = {
//isMobile 是否移动终端
//browse 浏览器标识
//name 浏览器名称
//version 浏览器 版本
//extend 浏览器扩展标识
};

browseInfo.isMobile=!!navigator.userAgent.match(/AppleWebKit.*Mobile.*/);
alert(navigator.userAgent);
if(navigator.appName.indexOf("Microsoft Internet Explorer")!=-1 && document.all)
{
browseInfo.browse = "IE";
browseInfo.name = "IE浏览器";
browseInfo.extend = "";
var ver = navigator.userAgent.toLowerCase();
ver = ver.substring(ver.indexOf("msie"),ver.length);
ver = ver.substring(0,ver.indexOf(";"))
browseInfo.version = ver.replace("msie ","");
//世界之窗 浏览器
if(navigator.appVersion.toLowerCase().indexOf("theworld") > -1)
{
browseInfo.extend = "TheWord";
browseInfo.name = "世界之窗浏览器";
}else if(navigator.appVersion.toLowerCase().indexOf("tencenttraveler") > -1)
{
browseInfo.extend = "TT "+navigator.appVersion.substring(0,3);
browseInfo.name = "TT浏览器";
}else if(navigator.appVersion.toLowerCase().indexOf("lbbrowser") > -1)
{
browseInfo.extend = "LB";
browseInfo.name = "猎豹浏览器";
}else if(window.external+"" == "undefined" || window.external == undefined)
{
//网站不能识别你的浏览器 不支持window.external 很可能为360浏览器
browseInfo.extend = "360SE";
browseInfo.name = "360浏览器";
}
}else if(navigator.appName.indexOf("Netscape")!=-1)
{
browseInfo.browse = "Netscape";
browseInfo.version = navigator.appVersion.substring(0,3);
//移动 客户端
if(browseInfo.isMobile)
{
var vers = navigator.appVersion.substring(navigator.appVersion.indexOf("Mobile")+7,navigator.appVersion.length);
var arrs = vers.split(" ");
vers = arrs[arrs.length-1];
browseInfo.browse = vers.split("/")[0];
browseInfo.version = vers.split("/")[1];
browseInfo.name = browseInfo.browse+"手机浏览器";
}
////非移动 客户端
else
{
if(window.external && window.external.max_version && navigator.userAgent.toLowerCase().indexOf("maxthon")>=0 )
{
browseInfo.browse = "Mathon";
browseInfo.version = window.external.max_version;
browseInfo.name = "遨游浏览器";
}else if(navigator.userAgent.indexOf("Firefox")!=-1)
{
browseInfo.browse = "Firefox";
browseInfo.name = "火狐浏览器";
browseInfo.version = navigator.userAgent.substr((navigator.userAgent+"").lastIndexOf('/')+1);
}else if(navigator.userAgent.indexOf("Chrome")!=-1)
{
browseInfo.browse = "Chrome";
browseInfo.name = "Chrome浏览器";
var subVersion = navigator.appVersion.substring(navigator.appVersion.indexOf("Chrome")+7);
browseInfo.version = subVersion.substring(0,subVersion.indexOf(' '));
}
}
}else if(navigator.userAgent.indexOf("Opera")!=-1)
{
browseInfo.browse = "Opera";
browseInfo.name = "Opera浏览器";
browseInfo.version = navigator.appVersion.substring(0,3);
}else
{
browseInfo.browse = "Unknown";
browseInfo.name = "未知"+(browseInfo.isMobile?"手机":"")+"浏览器";
browseInfo.version = "1.0";
}
// if(browseInfo.browse != "IE" || browseInfo.extend != "")
// {
// alert("目前系统对IE浏览器兼容性比较好,\n你的浏览器为"+browseInfo.name+",\n如果办理业务建议使用系统自带的IE浏览器。");
// }
alert(browseInfo.name+"[version="+browseInfo.version+"]");

[/code]

js检测浏览器型号的更多相关文章

  1. jquery和js检测浏览器窗口尺寸和分辨率

    jquery和js检测浏览器窗口尺寸和分辨率,转载自网络,记录备忘 <script type="text/javascript">$(document).ready(f ...

  2. js检测浏览器中是否安装了flash播放插件

    这两天工作中需要在网页中嵌入flash小游戏,我使用的是swfobject.js version:1.5.其他方面都很好,唯独版本检测这里一直没有搞通,后来实在无奈之下,改用js来检测浏览器的flas ...

  3. js 检测浏览器

    首先还是IE浏览器的检测,一般我们在写代码的时候,出现的兼容性bug几乎都来自IE.从IE10以后,IE还算有点良心,支持了大部门的CSS3及H5的新特性.那么在IE10之前呢,就要才去别的手段来代替 ...

  4. 爬虫笔记之JS检测浏览器开发者工具是否打开

    在某些情况下我们需要检测当前用户是否打开了浏览器开发者工具,比如前端爬虫检测,如果检测到用户打开了控制台就认为是潜在的爬虫用户,再通过其它策略对其进行处理.本篇文章主要讲述几种前端JS检测开发者工具是 ...

  5. js检测浏览器是否支持某属性

    以检测浏览器是否支持 input 标签的 required 属性为例: var isSupport = 'required' in document.createElement('input');

  6. js检测浏览器屏幕宽度

    使用javascript脚本编写的一个能检测浏览器屏幕的宽度,当改变浏览器屏幕大小时,输出的数值也会随之改变.

  7. JS获取浏览器型号

    /**********************************浏览器型号搜集start*************************************/ var userAgent ...

  8. navigator,JS检测浏览器插件

    最早由Netscape Navigator 2.0引入的navigator对象,现在已经成为识别客户端浏览器的事实标准.虽然其它浏览器也通过其它方式提供了相同或相似的信息(例如,IE中的window. ...

  9. JS检测浏览器Adobe Reader插件

    Web应用中当我们希望向用户显示pdf文档时候,如果用户安装了Adobe Reader之类的pdf阅读器,就可以直接打开文档在浏览器中显示, 但是,当用户没有安装这类软件的时候,自然是打不开的,为了系 ...

随机推荐

  1. 《微信小程序七日谈》- 第三天:玩转Page组件的生命周期

    <微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩 前两篇 ...

  2. HMM 自学教程(二)生成模型

    本系列文章摘自 52nlp(我爱自然语言处理: http://www.52nlp.cn/),原文链接在 HMM 学习最佳范例,这是针对 国外网站上一个 HMM 教程 的翻译,作者功底很深,翻译得很精彩 ...

  3. 终极事务处理(XTP,Hekaton)——万能大招?

    在SQL Server 2014里,微软引入了终极事务处理(Extreme Transaction Processing),即大家熟知的Hekaton.我在网上围观了一些文档,写这篇文章,希望可以让大 ...

  4. KMP算法 - 求最小覆盖子串

    KMP与最小覆盖子串 最小覆盖子串:对于某个字符串s,它的最小覆盖子串指的是长度最小的子串p,p满足通过自身的多次连接得到q,最后能够使s成为q的子串. 比如: 对于s="abcab&quo ...

  5. IIS7.5支持解析读取.json文件数据

    在站点中添加 MIME类型去支持Json文件的解析 添加mime类型 文件扩展名:.json MIME类型:application/json 添加成功后即可. 如果不能直接操作iis也可以直接在web ...

  6. 最小生成树Prim算法(邻接矩阵和邻接表)

    最小生成树,普利姆算法. 简述算法: 先初始化一棵只有一个顶点的树,以这一顶点开始,找到它的最小权值,将这条边上的令一个顶点添加到树中 再从这棵树中的所有顶点中找到一个最小权值(而且权值的另一顶点不属 ...

  7. 泛函编程(24)-泛函数据类型-Monad, monadic programming

    在上一节我们介绍了Monad.我们知道Monad是一个高度概括的抽象模型.好像创造Monad的目的是为了抽取各种数据类型的共性组件函数汇集成一套组件库从而避免重复编码.这些能对什么是Monad提供一个 ...

  8. 数据库设计==>>MySchool

    1.数据库设计的步骤 第一步:需求分析(收集信息) 第二步:绘制 E-R 图 (标示实体 ,找到实体的属性 第三步:将 E-R 图转换成数据库模型图 第四步:将数据库模型图转换成数据表 2.如何绘制 ...

  9. 【FFmpeg】ffplay播放rtsp视频流花屏问题

    问题描述:ffplay播放rtsp视频流时,播放过程中随机出现花屏现象. 基本流程学习:阅读ffplay源码,熟悉其播放rtsp视频流的基本流程. 在ffplay源码阅读和分析的基础上,画出了其播放r ...

  10. CSS层次选择器温故-2

    1.层次选择器 通过HTML的DOM元素间的层次关系获取元素,层次关系包括后代.父子.相邻兄弟和通用兄弟,通过其中某类关系可以方便快捷地选定需要的元素 2.语法 3.兼容性 IE7以及以上版本 4.后 ...