判断ie浏览器7、8、9三个版本

判断ie浏览器7、8、9三个版本

上午的时候,本来是想做一个position:fixed在各个浏览器下兼容的方案的,但是发现ie7/8下面的position:fixed只支持一个屏幕,如果内容高度超过一个屏幕就不能很好的使用position:fixed了(如果哪个同学有position:fixed的完美方案麻烦给我一下),于是我想用js来兼容,其实就是通过scroll监听来实现,于是需要判断ie7/8这俩版本,但是发现jquery的$.browser.version并不支持ie8,于是我就百度,百度倒是给出很多答案,但是发现ie8还是没能检测出来,后来我自己查看了navigator.userAgent这个东西,在各个浏览器下面打出来是这个样子的:

//ie9 : Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)

//ie8 : Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)

//ie7 : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; Tablet PC 2.0; .NET4.0E; .NET4.0C)

//Mozi: Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0

//goog: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22

//oper: Opera/9.80  (Windows NT 6.1; Edition IBIS) Presto/2.12.388 Version/12.14

//appl: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2

  你就发现,ie8和ie9是一样的,这下子蒙了,看来光靠这个navigator.userAgent是不够了,但是我相信你也很快就知道怎么做了,因为i9还是一个比较先进的浏览器,拥有一些ie8没有的属性,我不一一罗列了,其中一个就是window.innerWidth,这个属性值是浏览器的内高度(不包括工具栏和滚动条,还是一个比较有用的属性)。ie8下面这个属性值是undefined,9下面就ok了,显示的是一个数字。于是判断浏览器版本就很自然了,看下面这个方案:

if(navigator.userAgent.indexOf("MSIE")>0){  

      if(navigator.userAgent.indexOf("MSIE 6.0")>0){  

        alert("ie6");   

      }  

      if(navigator.userAgent.indexOf("MSIE 7.0")>0){ 

        alert("ie7");  

      }  

      if(navigator.userAgent.indexOf("MSIE 9.0")>0 && !window.innerWidth){//这里是重点,你懂的

        alert("ie8"); 

      }  

      if(navigator.userAgent.indexOf("MSIE 9.0")>0){ 

        alert("ie9"); 

      }  

    }

  其他浏览器的判断就简单了,百度一下不要太多。

时间: 2024-11-06 07:17:27

判断ie浏览器7、8、9三个版本的相关文章

JS判断手机浏览器(转)

转载地址:http://www.cnblogs.com/phphuaibei/archive/2011/12/09/2282570.html 判断原理: JavaScript是前端开发的主要语言,我们可以通过 编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另 一种是通过分析浏览器的userAgent属性来判断的.在许多情况下,值判断出浏览器类型之后,还需判断浏览器版本才能处理兼容性问题,而判断浏览器的

js快速判断IE浏览器(兼容IE10与IE11)

在很多时候,我们一般采用navigator.userAgent和正则表达来判断IE浏览器版本,下面介绍用IE浏览器中不同特性来判断IE浏览器   1 判断IE浏览器与非IE 浏览器 IE浏览器与非IE浏览器的区别是IE浏览器支持ActiveXObject,但是非IE浏览器不支持ActiveXObject.在IE11浏览器还没出现的时候我们判断IE和非IE经常是这么写的 ? 1 2 3 function isIe(){        return window.ActiveXObject ? tr

javascript如何判断当前浏览器是否支持cookie

javascript如何判断当前浏览器是否支持cookie:浏览器在默认状态下都是支持cookie的,但是也可以人为的禁用.代码如下: function check() { if(window.navigator.cookieEnabled) { return true; } else { alert("浏览器已经禁用cookie"); return false; } } 上面的函数可以实现验证cookie的效果.cookieEnabled属性可以参阅Navigator对象的cooki

js 判断微信浏览器(转)

最近做很多HTML5的项目,很多页面会通过微信微博等SNS分享出去.在分享页面上提供公司APP的下载.但是在很多应用的浏览器中,点击下载链接无法下载应用.那么针对这些浏览器我们需要给用户提示从safari或者系统自带的浏览器打开分享页面.通过js就可以判断当前页面是在什么浏览器打开的. 以下是一段示例代码,注释中表明了通过JS如何判断是否在微信浏览器打开,是否在QQ空间浏览器,是否在新浪微博打开.当然可以做得更完善一点,再加上判断是在移动设备打开还是在PC端浏览器打开的,更加细分一点,可以判断是

【javascript】js 判断微信浏览器

上周接到个需求,需求是这样的:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个 apk 的下载地址,用户点击下载按钮可以下载此 apk.然后就发生了问题,经过测试,发现用微信扫一扫打开的页面点击下载按钮下载不了 apk,后百度之,原来是微信内置浏览器屏蔽了下载链接,后面和需求方沟通,需求改为如果用户是用微信内置浏览器打开的,则提示用户换一个浏览器打开页面,否则下载不了 apk.那么该如何判断用户是否是用微信浏览器呢? 我们知道 js 可以通过 window.navigator.

如何判断当前浏览器是否支持html5的video标签

如何判断当前浏览器是否支持html5的video标签: html5新增了video标签,用于播放视频,功能非常的强大,但是由于当前很多浏览器还不支持,所以在使用的时候需要判断当前浏览器是否支持此标签,下面就提供一段能够实现此功能的代码,希望能够给需要的朋友带来一定的帮助. 代码如下: //检测是否支持HTML5 function checkVideo() { if(!!document.createElement('video').canPlayType){ var vidTest = docu

javascript判断手机浏览器版本信息

<script type="text/javascript"> /* * 智能机浏览器版本信息: * */ var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return {//移动终端浏览器版本信息 trident: u.indexOf('Trident') > -1, //IE内核 presto: u.indexOf('Presto

JavaScript判断各浏览器CSS前缀的两种方式

不管浏览器更新的多快,号称多么支持标准.厂商不同,他们之间还是有很多差异.我们需要区分出这些差异,针对不同的浏览器做不同的处理. 比如 CSS 前缀,IE 的是 "-ms-",旧版 Opera 的是 "-o-",Firefox 的是 "-moz-",Safari/Chrome 是 "-webkit-".JavaScript 有多种方式判断它们. 方式1: 特性判断 // 取浏览器的 CSS 前缀 var prefix = fu

判断IE浏览器代码实例

判断IE浏览器代码实例: 由于当下浏览器类型众多,并且对同一段代码的解读有时候各有不同,所以要根据浏览器的类型来执行不同的代码.在众多的浏览器中,尤其以IE浏览器的问题最多,下面就分享一下判断IE浏览器比较简洁奇特的方式. 一.判断是否是IE浏览器: var ie=/*@cc_on [email protected]*/false; 如果在IE浏览器中,ie的值为true,否则为false. 特别说明上面你的代码在IE11和IE11以上浏览器中无效. 二.判断是否是IE9以下浏览器: var i