js检测浏览器型号
公司要求做内部统计,要求监控客服玩游戏使用的浏览器的型号,是火狐的、谷歌的、还是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检测浏览器型号的更多相关文章
- jquery和js检测浏览器窗口尺寸和分辨率
jquery和js检测浏览器窗口尺寸和分辨率,转载自网络,记录备忘 <script type="text/javascript">$(document).ready(f ...
- js检测浏览器中是否安装了flash播放插件
这两天工作中需要在网页中嵌入flash小游戏,我使用的是swfobject.js version:1.5.其他方面都很好,唯独版本检测这里一直没有搞通,后来实在无奈之下,改用js来检测浏览器的flas ...
- js 检测浏览器
首先还是IE浏览器的检测,一般我们在写代码的时候,出现的兼容性bug几乎都来自IE.从IE10以后,IE还算有点良心,支持了大部门的CSS3及H5的新特性.那么在IE10之前呢,就要才去别的手段来代替 ...
- 爬虫笔记之JS检测浏览器开发者工具是否打开
在某些情况下我们需要检测当前用户是否打开了浏览器开发者工具,比如前端爬虫检测,如果检测到用户打开了控制台就认为是潜在的爬虫用户,再通过其它策略对其进行处理.本篇文章主要讲述几种前端JS检测开发者工具是 ...
- js检测浏览器是否支持某属性
以检测浏览器是否支持 input 标签的 required 属性为例: var isSupport = 'required' in document.createElement('input');
- js检测浏览器屏幕宽度
使用javascript脚本编写的一个能检测浏览器屏幕的宽度,当改变浏览器屏幕大小时,输出的数值也会随之改变.
- JS获取浏览器型号
/**********************************浏览器型号搜集start*************************************/ var userAgent ...
- navigator,JS检测浏览器插件
最早由Netscape Navigator 2.0引入的navigator对象,现在已经成为识别客户端浏览器的事实标准.虽然其它浏览器也通过其它方式提供了相同或相似的信息(例如,IE中的window. ...
- JS检测浏览器Adobe Reader插件
Web应用中当我们希望向用户显示pdf文档时候,如果用户安装了Adobe Reader之类的pdf阅读器,就可以直接打开文档在浏览器中显示, 但是,当用户没有安装这类软件的时候,自然是打不开的,为了系 ...
随机推荐
- java io系列01之 "目录"
java io 系列目录如下: 01. java io系列01之 "目录" 02. java io系列02之 ByteArrayInputStream的简介,源码分析和示例(包括 ...
- perl基本语法--转载
http://www.cnblogs.com/zhtxwd/archive/2012/03/06/2381585.html 本文介绍从变量类型.操作运算符.控制叙述.子程序.I/O和档案处理. Reg ...
- ASP.NET跨服务器上传文件的相关解决方案
第一种:通过FTP来上传文件 首先,在另外一台服务器上设置好FTP服务,并创建好允许上传的用户和密码,然后,在ASP.NET里就可以直接将文件上传到这台 FTP 服务器上了.代码如下: <%@ ...
- P6 EPPM R16.1安装与配置指南(三)
P6 EPPM R16.1安装与配置指南(三) 解压:V137390-01.zip 修改 D:\P6_R161\p6suite\database\dbsetup.bat 的行 SET JAR_FI ...
- 重构第31天 使用多态替代条件语句( Replace conditional with Polymorphism)
理解:本文中的”使用多态代替条件判断”是指如果你需要检查对象的类型或者根据类型执行一些操作时,一种很好的办法就是将算法封装到类中,并利用多态性进行抽象调用. 详解:本文展示了面向对象编程的基础之一“多 ...
- 重构第5天:提升字段(Pull Up Field)
理解:提升字段和前面讲解的方法提公很类似,可以说方式都是一样的.就是把继承类中经常用到的字段,提出来 放到基类中,达到通用的目的.提高代码重用性和可维护性. 详解:如下重构前的代码: using Sy ...
- CCFlow SDK模式开发
需求: 1.业务数据要保存在我们自己的数据库里 2.CCFlow有保存草稿的功能,但是领导要求每个业务都要有草稿箱,流程从草稿箱发起,每个业务单独查询,而不要在CCFlow的统一界面查询,所以每 ...
- 安装、部署... Windows服务 .net程序 安装 命令
@echo offInstallutil.exe 程序目录 F:\test\TestWindows.exe 服务程序目录@sc start "服务名称"@sc config &qu ...
- 【循序渐进学Python】11.常用标准库
安装完Python之后,我们也同时获得了强大的Python标准库,通过使用这些标准库可以为我们节省大量的时间.这里是一些常用标准库的简单说明.更多的标准库的说明,可以参考Python文档 sys 模块 ...
- Android 中 Handler 引起的内存泄露
在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用.其实这可能导致内存泄露,代码中哪里可能导致内存泄露,又是如何导致内存泄露的呢?那我们就慢慢分析一下.http://w ...