判断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"); 
      }  
    }

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

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

  1. 通过JavaScript判断当前浏览器版本

    从别人处拷贝,只用于自己学习之用.参考源自:http://www.cnblogs.com/leadzen/archive/2008/09/06/1285764.html JavaScript是前端开发 ...

  2. C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志

    C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...

  3. 如何判断WebBrowser浏览器网页加载完成

    在工作中遇到了这样的问题,那就是要判断WebBrowser浏览器网页是否加载完成,通过搜索发现网友们解决这一问题的几种方法,但都不能解决实际问题,现在我们就来看看网友们是如何解决这一问题的. 一.通过 ...

  4. jquery判断当前浏览器的实现代码

    写了一个判断当前浏览器类型及版本的方法,只在IE 8/11 .谷歌 .360 浏览器(不完全)上测试过,需要用到jquery 核心代码: ;(function($, window, document, ...

  5. 纯JS判断各种浏览器类型及版本.

    IE11或者非IE if (!document.all) { alert('IE11+ or not IE'); } IE10 if (document.all && document ...

  6. 根据判断PC浏览器类型和手机屏幕像素自动调用不同CSS的代码

    1.媒体查询方法在 css 里面这样写 -------------------- @media screen and (min-width: 320px) and (max-width: 480px) ...

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

    不管浏览器更新的多快,号称多么支持标准.厂商不同,他们之间还是有很多差异.我们需要区分出这些差异,针对不同的浏览器做不同的处理. 比如 CSS 前缀,IE 的是 "-ms-",旧版 ...

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

    在很多时候,我们一般采用navigator.userAgent和正则表达来判断IE浏览器版本,下面介绍用IE浏览器中不同特性来判断IE浏览器   1 判断IE浏览器与非IE 浏览器 IE浏览器与非IE ...

  9. 360极速浏览器UA怪异以及如何用js判断360浏览器

    本文最后一次更新于7个月前,文章内容可能略有出入.若发现文章中有错误之处,可以留言评论告诉作者. 1.360极速浏览器UA因域名不同而异 今天在写一个判断浏览器.浏览器版本.操作系统.操作系统版本.浏 ...

随机推荐

  1. Python 获取文件中最长行的长度和最长行

    1, 使用文件 #vim /etc/motd "1 hello world" 2 ...... yes 3 no you are a shadiao 4 hahh maye you ...

  2. MacOS安装Go2Shell

    1 去官网下载安装MacOS最新版本 https://zipzapmac.com/Go2Shell 2 下一步下一步安装 3 设置 打开终端设置, open -a Go2Shell --args co ...

  3. vue框架导入百度地图API接口的方法

    百度请求API接口:

  4. javascript数据类型和常用内置对象(重要!)

    数据类型:w3c undefind  null  string  number  boolean  Array   object 常用内置javascript对象: Array对象:Date对象:正则 ...

  5. C - Alphabetic Removals

    题目链接: You are given a string ss consisting of nn lowercase Latin letters. Polycarp wants to remove e ...

  6. Django学习手册 - ORM 单表数据获取

    Django 单表数据的获取: 先建立数据表格 from django.db import models # Create your models here. class userinfo(model ...

  7. shell编程 之 echo命令和printf命令

    1 echo命令基本情况: echo显示普通字符:echo "i am studying shell"(有木有引号都可以) 支持转义字符:echo "\"hel ...

  8. spring-session+Redis实现Session共享

    关于session共享的方式有多种: (1)通过nginx的ip_hash,根据ip将请求分配到对应的服务器 (2)基于关系型数据库存储 (3)基于cookie存储 (4)服务器内置的session复 ...

  9. Mint-UI

    Mint-UI是基于Vue.js的移动端组件库 Mint-UI是Vue组件库,是使用Vue技术封装出来的成套的组件,可以无缝地和Vue项目进行集成开发 Mint UI官网 不同版本的安装 导入有两种方 ...

  10. [转]python3之os与sys模块

    转自:https://www.cnblogs.com/zhangxinqi/p/7826872.html#_label8 阅读目录 一.Python os模块 1.os.access() 2.os.c ...