欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

jquery 判断浏览器 有大用

shiping1 的头像

 

JS获取浏览器信息

1
2
3
4
5
6
7
8
浏览器代码名称:navigator.appCodeName
浏览器名称:navigator.appName
浏览器版本号:navigator.appVersion
对Java的支持:navigator.javaEnabled()
MIME类型(数组):navigator.mimeTypes
系统平台:navigator.platform
插件(数组):navigator.plugins
用户代理:navigator.userAgent

js判断IE浏览器的四种方法:

方法一:

1
2
3
4
5
6
7
if(window.addEventListener){
alert("not ie");
}else if(window.attachEvent){
alert("is ie");
}else{
alert("这种情况发生在不支持DHTML的老版本浏览器(现在一般都支持)")
}

注释:该方法在IE9及以上IE版本会弹出not ie结果

方法二:

1
2
3
4
5
if(document.all){
alert("IE");
}else{
alert("not ie");
}

方法三:

1
2
3
4
5
6
var navigatorName = "Microsoft Internet Explorer";
if( navigator.appName == navigatorName ){
alert("ie")
}else{
alert("not ie")
}

方法四:
利用了IE与标准浏览器在处理数组的toString方法的差异.对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它.

1
2
if(!+[1,])alert("这是ie浏览器");
else alert("这不是ie浏览器");


注释:IE9及以上版本会弹出“这不是IE浏览器”

判断常用浏览器的方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var explorer =navigator.userAgent ;
//ie
if (explorer.indexOf("MSIE") >= 0) {
alert("ie");
}
//firefox
else if (explorer.indexOf("Firefox") >= 0) {
alert("Firefox");
}
//Chrome
else if(explorer.indexOf("Chrome") >= 0){
alert("Chrome");
}
//Opera
else if(explorer.indexOf("Opera") >= 0){
alert("Opera");
}
//Safari
else if(explorer.indexOf("Safari") >= 0){
alert("Safari");
}
//Netscape
else if(explorer.indexOf("Netscape")>= 0) {
alert('Netscape');
}

这里用到navigator.userAgent。indexOf("MSIE") >= 0进行判断,当然也可以用
navigator.userAgent.indexOf("MSIE") != -1 进行判断。

jquery判断浏览器类型和浏览器版本号的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(document).ready(function(){
 
  var brow=$.browser;
 
  var bInfo="";
 
  if(brow.msie){bInfo="MicrosoftInternetExplorer"+brow.version;}
 
  if(brow.mozilla){bInfo="MozillaFirefox"+brow.version;}
 
  if(brow.safari){bInfo="AppleSafari"+brow.version;}
 
  if(brow.opera){bInfo="Opera"+brow.version;}
 
  alert(bInfo);
 
});


注意:Query 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是

$.support 方法

如对本文有疑问,请提交到交流社区,广大热心网友会为你解答!! 点击进入社区

来自    http://www.jb51.net/article/54625.htm


 



jQuery 1.9 移除了 $.browser 的替代方法授权方式:署名,非商业用途,保持一致,转载时请务必以超链接(http://www.fwolf.com/blog/post/35)的形式标明文章原始出处和作者信息及本声明。

jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,将不再支持 IE 6/7/8。 以后,如果用户需要支持 IE 6/7/8,只能使用 jQuery 1.9。 如果要全面支持 IE,并混合使用 jQuery 1.9 和 2.0, 官方的解决方案是:

<!--[if lt IE 9]>
    <script src='jquery-1.9.0.js'></script>
<![endif]-->
<!--[if gte IE 9]>
    <script src='jquery-2.0.0.js'></script>
<![endif]-->

从长久来看,这样有利于在复杂情况下根据浏览器特性进行分别处理, 而不是简单的检测浏览器类型和版本。 但目前很多旧程序的移植恐怕无法直接过渡为根据浏览器支持特性, 所以在网上找了一些能够直接替换的解决办法。

判断浏览器类型:

$.browser.mozilla = /firefox/.test(navigator.userAgent.toLowerCase());
$.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase());
$.browser.opera = /opera/.test(navigator.userAgent.toLowerCase());
$.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());

等号后面的表达式返回的就是 true/false, 可以直接用来替换原来的 $.browser.msie 等。

检查是否为 IE6:

// Old
if ($.browser.msie && 7 > $.browser.version) {}
// New
if ('undefined' == typeof(document.body.style.maxHeight)) {}

检查是否为 IE 6-8://下面这个好像不行

if (!$.support.leadingWhitespace) {}

终极方法是用另外的类库替代,比如 这个 , 但作者也不推荐使用浏览器类型和版本来进行判断。

来自 http://www.fwolf.com/blog/post/35


jQuery下通过$.browser来判断浏览器.

作者: 字体:[增加 减小] 类型:转载
用jQuery来判断浏览器的类型,主要是使用$.browser这个工具类
 
使用方法: 
$.browser.['浏览器关键字'] 
复制代码代码如下:

$(function() { 
if($.browser.msie) { 
alert("this is msie"); 
} 
else if($.browser.safari) 
{ 
alert("this is safari!"); 
} 
else if($.browser.mozilla) 
{ 
alert("this is mozilla!"); 
} 
else if($.browser.opera) { 
alert("this is opera"); 
} 
else { 
alert("i don't konw!"); 
} 

我们看下jQuery的源码: 
复制代码代码如下:

var userAgent = navigator.userAgent.toLowerCase(); 
// Figure out what browser is being used 
jQuery.browser = { 
version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1], 
safari: /webkit/.test( userAgent ), 
opera: /opera/.test( userAgent ), 
msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ), 
mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent ) 
}; 

jQuery 使用的是通过正则来匹配userAgent判断浏览器的种类和版本. 
如果我们要来判断当前浏览器是否是IE6应该如何来判断? 
$.browser.msie&&($.browser.version == "6.0")&&!$.support.style 
同样jQuery判断浏览器是否为IE7 
$.browser.msie&&($.browser.version == "7.0") 
如果不考虑向后兼容性,又不想为了判断各浏览器类型而导入jQuery 
判断IE最简单的方法是 
复制代码代码如下:

if(document.all){ 
alert("IE6") 
} 

$.browser是通过正则表达式来匹配userAgent来判断浏览器版本和种类的.jquery1.3.2版本的文档中已经声明jquery.browser及jquery.browser.version建议弃用,可以使用jquery.support来代替 
但是目前的情况来看,jquery.support并不好用,而且是非常的难用,我们还是老老实实的用$.browser来判断浏览器类型吧 
如果是为了判断IE的版本我还是推荐用IE的条件表达式来书写JS 
复制代码代码如下:

<!--[if IE]> 
<script type="text/javascript"> 
alert("ie") 
</script> 
<![endif]--> 
<!--[if IE 6]> 
<script type="text/javascript"> 
alert("ie6") 
</script> 
<![endif]--> 
<!--[if IE 7]> 
<script type="text/javascript"> 
alert("ie7") 
</script> 
<![endif]--> 

这个比我们手动通过$.browser来判断IE版本更精准,也不用去记jquery的browser的使用方法了

来自 http://www.jb51.net/article/26736.htm

普通分类: