js/jQuery判断浏览器名称、内核版本、浏览器壳
1.js方法 /*
判断浏览器名称和版本
目前只能判断:ie/firefox/chrome/opera/safari
2012年5月16日23:47:08
浏览器内核UA:UA;
浏览器内核名称:NV.name;
浏览器内核版本:NV.version;
浏览器外壳名称:NV.shell;
*/
var NV = {};
var UA = navigator.userAgent.toLowerCase();
try
{
NV.name=!-[1,]?'ie':
(UA.indexOf("firefox")>0)?'firefox':
(UA.indexOf("chrome")>0)?'chrome':
window.opera?'opera':
window.openDatabase?'safari':
'unkonw';
}catch(e){};
try
{
NV.version=(NV.name=='ie')?UA.match(/msie ([\d.]+)/)[1]:
(NV.name=='firefox')?UA.match(/firefox\/([\d.]+)/)[1]:
(NV.name=='chrome')?UA.match(/chrome\/([\d.]+)/)[1]:
(NV.name=='opera')?UA.match(/opera.([\d.]+)/)[1]:
(NV.name=='safari')?UA.match(/version\/([\d.]+)/)[1]:
'0';
}catch(e){};
try
{
NV.shell=(UA.indexOf('360ee')>-1)?'360极速浏览器':
(UA.indexOf('360se')>-1)?'360安全浏览器':
(UA.indexOf('se')>-1)?'搜狗浏览器':
(UA.indexOf('aoyou')>-1)?'遨游浏览器':
(UA.indexOf('theworld')>-1)?'世界之窗浏览器':
(UA.indexOf('worldchrome')>-1)?'世界之窗极速浏览器':
(UA.indexOf('greenbrowser')>-1)?'绿色浏览器':
(UA.indexOf('qqbrowser')>-1)?'QQ浏览器':
(UA.indexOf('baidu')>-1)?'百度浏览器':
'未知或无壳';
}catch(e){}
alert('浏览器UA='+UA+
'\n\n浏览器名称='+NV.name+
'\n\n浏览器版本='+parseInt(NV.version)+
'\n\n浏览器外壳='+NV.shell);
});
2.jQuery插件 ;(function($)
{
/*
判断浏览器名称和版本
目前只能判断:ie/firefox/chrome/opera/safari
2012年5月16日23:47:08
浏览器内核UA:$.NV('ua');或$.NV('UA');
浏览器内核名称:$.NV('name');或$.NV();
浏览器内核版本:$.NV('version');
浏览器外壳名称:$.NV('shell');
*/
$.extend(
{
NV:function(name)
{
var NV = {};
var UA = navigator.userAgent.toLowerCase();
try
{
NV.name=!-[1,]?'ie':
(UA.indexOf("firefox")>0)?'firefox':
(UA.indexOf("chrome")>0)?'chrome':
window.opera?'opera':
window.openDatabase?'safari':
'unkonw';
}catch(e){};
try
{
NV.version=(NV.name=='ie')?UA.match(/msie ([\d.]+)/)[1]:
(NV.name=='firefox')?UA.match(/firefox\/([\d.]+)/)[1]:
(NV.name=='chrome')?UA.match(/chrome\/([\d.]+)/)[1]:
(NV.name=='opera')?UA.match(/opera.([\d.]+)/)[1]:
(NV.name=='safari')?UA.match(/version\/([\d.]+)/)[1]:
'0';
}catch(e){};
try
{
NV.shell=(UA.indexOf('360ee')>-1)?'360极速浏览器':
(UA.indexOf('360se')>-1)?'360安全浏览器':
(UA.indexOf('se')>-1)?'搜狗浏览器':
(UA.indexOf('aoyou')>-1)?'遨游浏览器':
(UA.indexOf('theworld')>-1)?'世界之窗浏览器':
(UA.indexOf('worldchrome')>-1)?'世界之窗极速浏览器':
(UA.indexOf('greenbrowser')>-1)?'绿色浏览器':
(UA.indexOf('qqbrowser')>-1)?'QQ浏览器':
(UA.indexOf('baidu')>-1)?'百度浏览器':
'未知或无壳';
}catch(e){}
switch(name)
{
case 'ua':
case 'UA':br=UA;break;
case 'name':br=NV.name;break;
case 'version':br=NV.version;break;
case 'shell':br=NV.shell;break;
default:br=NV.name;
}
return br;
}
});
})(jQuery);
调用方法(必须载入此插件): $(function()
{
alert('浏览器UA='+$.NV('UA')+
'\n\n浏览器名称='+$.NV('name')+
'\n\n浏览器版本='+parseInt($.NV('version'))+
'\n\n浏览器外壳='+$.NV('shell'));
});
到此基本完毕。
js/jQuery判断浏览器名称、内核版本、浏览器壳的更多相关文章
- 快速判断ie10及以上版本浏览器
if (!(/msie [6|7|8|9]/i.test(navigator.userAgent))){ //ie10以上 }; 快速判断ie10及以上版本浏览器
- js jquery 判断元素是否在数组内
js jquery 判断元素是否在数组内 一,js方法 var arr = ["a", "b", "c"]; // js arr.index ...
- js/jquery判断浏览器的方法小结
在网站前端开发中,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道.今天我们把 ...
- js/jquery判断浏览器的方法总结
JS获取浏览器信息浏览器代码名称:navigator.appCodeName浏览器名称:navigator.appName浏览器版本号:navigator.appVersion对Java的支持:nav ...
- js/jquery判断浏览器 & 停止加载
JS获取浏览器信息 复制代码代码如下: 浏览器代码名称:navigator.appCodeName浏览器名称:navigator.appName浏览器版本号:navigator.appVersion对 ...
- Selenium_获取浏览器名称和版本(5)
from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get(" ...
- js jquery 判断IE有效方法
jquery1.9以前 $.browser.msie jquery1.9更高版本 $.browser.msie = /msie/.test(navigator.userAgent.toLowerCas ...
- js jquery 判断匹配元素是否存在
jQuery 判断页面元素是否存在的代码 在传统的Javascript里,当我们对某个页面元素进行某种操作前,最好先判断这个元素是否存在.原因是对一个不存在的元素进行操作是不允许的. 例如: 复制代码 ...
- JS/JQuery判断是否移动设备+JS/JQuery判断浏览器类型
原文:https://blog.csdn.net/Little_Stars/article/details/48624669 JS代码如下(点击事件依赖JQuery): //判断设备类型 $(&quo ...
随机推荐
- web端跨域调用webapi
在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webapi的程序,如下图所示: 由于微软已 ...
- Android屏幕旋转总结
转自:http://www.myexception.cn/operating-system/1452058.html 1. ProjectConifg.mk中定义宏MTK_LCM_PHYSICAL_R ...
- poj 1701【数学几何】
The area Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- POJ1351 Number of Locks(数学)
截至写博客为止,貌似这是网上第一个采用数学公式来处理的. 网上的题解都是DFS或是动态规划,但感觉可以推公式直接用数学的方法处理,想了好久,终于推出公式. 题意:一个长度为n的由数字1,2,3,4 组 ...
- 2016"百度之星" - 初赛(Astar Round2A)All X(数学 矩阵)
All X Accepts: 1281 Submissions: 7580 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536 ...
- Beego框架使用
go get github.com/astaxie/beego vim hello.go package main import "github.com/astaxie/beego" ...
- 吐个槽,对VB6.0 还有VBS 说ByeBye
往事不堪回首,折腾了个把月的老系统,心中郁结,不吐不快.系统架构是ASP +VBS +VB6.0 + SQL Server2000, 第一个版本开发完成大概是在2000年.基本是处于交接无力,看代码就 ...
- C++Primer快速浏览笔记-复合类型
C++Primer2.3节介绍了两种复合类型:引用和指针 1.引用 引用并非对象,它只是为一个已经存在的对象所起的别名. 一旦初始化完成,引用将和它的初始值对象一直绑定在一起,不能重新绑定到另一个对象 ...
- JNI数据类型(转)
本文原创,转载请注明出处:http://blog.csdn.net/qinjuning 在Java存在两种数据类型: 基本类型 和 引用类型 ,大家都懂的 . 在JNI的世界里也存在类似的数据类型,与 ...
- ubuntu kylin中如何截图
windows操作系统中,我通常使用的截图工具是QQ的“ctrl+alt+a”快捷键.但是在ubuntu中,linux qq常年不更新,我也就彻底放弃了使用了,反正ubuntu通常只是拿来开发.其实没 ...