判断浏览器类型的一些方法

在做项目时总会要调整IE浏览器兼容性,在html中,通常可以使用条件注释法,这也是IE专有的hack方法。

Html代码  

  1. <!--[if IE]>
  2. 只在IE浏览器显示
  3. <![endif]-->
  4. <!--[if !IE]>
  5. 只在非IE浏览器显示
  6. <![endif]-->
  7. <!--[if IE 6]>
  8. 只在IE6浏览器显示
  9. <![endif]-->
  10. <!--[if ! IE 8]>
  11. 在非IE8浏览器显示
  12. <![endif]-->
<!--[if IE]>
	只在IE浏览器显示
<![endif]-->

<!--[if !IE]>
	只在非IE浏览器显示
<![endif]-->

<!--[if IE 6]>
	只在IE6浏览器显示
<![endif]-->

<!--[if ! IE 8]>
	在非IE8浏览器显示
<![endif]-->

但经过测试,发现该方法只在IE9及以下版本试用,不适用于IE10和IE11。而且因为在IE9及以下有用,也导致<!--[if !IE]>是个鸡肋,没有用。这时需要判断IE10以上,则不能使用条件注释法了。

如果要判断IE10,可以这样判断:

Html代码  

  1. <style>
  2. @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  3. .class {
  4. /* 仅限IE10的代码 */
  5. }
  6. }
  7. </style>
<style>
	@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
		.class {
			/* 仅限IE10的代码 */
         	}
	}
</style>

但要判断IE11又不知如何判断了,网上看了看有js的方法,后来找到一款不错的JavaScript的判断游览器的方法,特别的全面。如下:

【java框架源码下载】

Js代码  

  1. $(function () {
  2. var Sys = {};
  3. var ua = navigator.userAgent.toLowerCase();
  4. var s;
  5. (s = ua.match(/rv:([\d.]+)\) like gecko/)) ? Sys.ie = s[1] :
  6. (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
  7. (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
  8. (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
  9. (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
  10. (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
  11. if (Sys.ie) document.write(‘IE: ‘ + Sys.ie);
  12. if (Sys.firefox) document.write(‘Firefox: ‘ + Sys.firefox);
  13. if (Sys.chrome) document.write(‘Chrome: ‘ + Sys.chrome);
  14. if (Sys.opera) document.write(‘Opera: ‘ + Sys.opera);
  15. if (Sys.safari) document.write(‘Safari: ‘ + Sys.safari);
  16. });
$(function () {
        var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        var s;
        (s = ua.match(/rv:([\d.]+)\) like gecko/)) ? Sys.ie = s[1] :
        (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
        (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
        (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
        (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
        (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;

        if (Sys.ie) document.write(‘IE: ‘ + Sys.ie);
        if (Sys.firefox) document.write(‘Firefox: ‘ + Sys.firefox);
        if (Sys.chrome) document.write(‘Chrome: ‘ + Sys.chrome);
        if (Sys.opera) document.write(‘Opera: ‘ + Sys.opera);
        if (Sys.safari) document.write(‘Safari: ‘ + Sys.safari);
    });

不过这样判断虽然简单,但是代码质量不是很好,总要通过操作DOM来修改样式,如果有别的简单方法可以先考虑其他的方法,实在不行在使用。

时间: 2024-09-30 18:50:48

判断浏览器类型的一些方法的相关文章

JS判断浏览器类型的方法总结(IE firefox chrome opera safari)

JS判断浏览器类型的方法总结,可判别当前客户端所使用的浏览器是ie,firefox,safari,chrome或者是opera,另外js可以精确判断到ie浏览器的版本,依然直接上代码,需要的朋友可按照自己的要求进行修改. 第一种方法: 1 var Browser=new Object(); 2 Browser.isMozilla=(typeof document.implementation!='undefined')&&(typeof document.implementation.cr

JS判断浏览器类型方法

在网站前端开发中,浏览器兼容性问题本已让我们手忙脚乱,Chrome的出世不知道又要给我们添多少乱子.浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本. JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一种是通过分析浏览器的userAgent属性来判断的.在许多情况下,值判断出浏览器类型之后,还需判

js判断浏览器类型

js判断浏览器类型  <script type="text/javascript" >     <!--   function getOs()   {       var OsObject = "";      if(isIE = navigator.userAgent.indexOf("MSIE")!=-1) {           return "MSIE";      }      if(isFiref

JavaScript判断浏览器类型及版本

说明:以下内容参考了一些网上资料以及同事间的一些讨论. 浏览器对于我们来说,可能是最熟悉的工具了.记得最早那会Netscape,到后来的Internet Explorer一统江湖,再到现在的FireFox大行其道,浏览器市场的争夺,可谓是硝烟弥漫.除了我们常见的IE, Firefox, Opera, Safari四大金刚以外,新近又出了一位Chrome,虽然新出,但是出于Google这个名门,Chrome所受到的关注绝不亚于先前的四大金刚,看来以后要改为5朵金花了,呵呵.除了这些熟知的浏览器以外

js判断浏览器类型以及版本

你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器. 几天前,浏览器家族有刚诞生了一位小王子,就是Google推出的Chrome浏览器.由于Chrome出生名门,尽管他还是个小家伙,没有人敢小看他.以后,咱们常说浏览器的“四大才子”就得改称为“五朵金花”了. 在网站前端开发中,浏览器兼容性问题本已让我们手忙脚乱,Chrome的出世不知道又要给我们添多少乱子.浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容

(转)JavaScript判断浏览器类型及版本

IE 只有IE支持创建ActiveX控件,因此她有一个其他浏览器没有的东西,就是ActiveXObject函数.只要判断window对象存在ActiveXObject函数,就可以明确判断出当前浏览器是IE.而IE各个版本典型的userAgent如下: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)        Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)        Mozilla/

判断浏览器类型 &lt;!--[if lt IE 9]&gt;(转)

<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![endif]--><!--[if IE 6]> 仅IE6可识别 <![endif]--><!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]--><!--[if gte IE 6]> IE6以及IE6以上版本可识

jquery判断浏览器类型的代码

jquery判断浏览器类型的代码 Jquery中利用navigator.userAgent.indexOf来判断浏览器类型,并进行了一下处理,建议学习Jquery的朋友学习下,了解一下思路. 主要使用的方法:$.browser.['浏览器关键字'] . 代码如下: $(function() { if($.browser.msie) { alert("this is msie"); } else if($.browser.safari) { alert("this is saf

js怎么判断浏览器类型

<script type="text/javascript"> function isIE(){ return navigator.appName.indexOf("Microsoft Internet Explorer")!=-1 && document.all; } function isIE6() { return navigator.userAgent.split(";")[1].toLowerCase().i