公司要求做内部统计,要求监控客服玩游戏使用的浏览器的型号,是火狐的、谷歌的、还是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. [OpenCV] Feature Matching

    得到了杂乱无章的特征点后,要筛选出好的特征点,也就是good matches. BruteForceMatcher FlannBasedMatcher 两者的区别:http://yangshen998 ...

  2. Django--models连表构建

    需求 models多表(一对多.多对多.一对一)的构建 速查 1.一对多 1 2 3 class User(models.Model):     name = models.CharField(max ...

  3. SystemTap了解

    SystemTrap是监控和跟踪运行中的Linux内核操作的动态方法. http://www.ibm.com/developerworks/cn/linux/l-systemtap/ 使用System ...

  4. Parameter Config

    public class ConfigInfo { public static ScriptsHelper Scripts { get { return new ScriptsHelper(); } ...

  5. QCustomplot使用分享(五) 布局

    一.历史对比 关于QCPLayoutElement这个元素的讲解之前,我想先对1.3.2release版本和2.0.0beta版本的该元素做以简单的对比介绍,首先,1.3.2release版本时,鼠标 ...

  6. 更加优雅地配置Spring Securiy(使用Java配置和注解)

    Spring Security 借助一系列Servlet Filter 来提供安全性功能,但是借助Spring的小技巧,我们只需要配置一个Filer就可以了,DelegatingFilterProxy ...

  7. 【Android进阶系列教程】前言

    起因 因为初学Android的时候还没有写博客的意识,现在Android的门是入了,正在进阶的道路上行走,但是就这一路也走了不少的弯路.我想,总得来说Android入门还是比较容易的,网络资源比较丰富 ...

  8. 使用MinGW 编译 iconv 库

    原文链接: http://www.code-by.org/viewtopic.php?f=54&t=166 GNU页面 http://ftp.gnu.org/pub/gnu/libiconv/ ...

  9. C#开源资源项目

    一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种部署方面(as ...

  10. 【EF 译文系列】重试执行策略的局限性(EF 版本至少为 6)

    原文链接:Limitations with Retrying Execution Strategies (EF6 onwards) 当使用重试执行策略的时候,大体有以下两种局限性: 不支持以流的方式进 ...