JavaScript判断IE版本型号


Posted in Javascript onJuly 27, 2015

下面通过代码给大家讲解下,具体请看下文:

IE浏览器与非IE浏览器的区别是IE浏览器支持ActiveXObject,但是非IE浏览器不支持ActiveXObject。在IE11浏览器还没出现的时候我们判断IE和非IE经常是这么写的

function isIe(){

     return window.ActiveXObject ? true : false;

 }

但是在IE11中上面判断的返回的是false,我自己在IE11测试了下如下代码:

 alert(window.ActiveXObject);

 alert(typeof window.ActiveXObject);

这是为什么呢?明明ActiveXObject是存在的,怎么就typeof的结果确实undefined。哪位知道结果的告诉我这是为什么呢?为神马?

微软上的官网说出了IE11的ActiveXObject的不同。

 

alert("ActiveXObject" in window)//在ie11下返回的是true

下面就直接给出兼容IE11判断IE与非IE浏览器的方法。
 function isIe(){

    return ("ActiveXObject" in window);

 }

判断IE6浏览器

从IE7开始IE是支持XMLHttpRequest对象的,唯独IE6是不支持的。根据这个特性和前面判断IE的函数isIe()我们就知道怎么判断IE6了吧。判断方法如下:

 function isIe6() {

    // ie6是不支持window.XMLHttpRequest的

    return isIe() && !window.XMLHttpRequest;

 }

判断IE7浏览器

因为从IE8开始是支持文档模式的,它支持document.documentMode。IE7是不支持的,但是IE7是支持XMLHttpRequest对象的。判断方法如下:

 

function isIe7() {

     //只有IE8+才支持document.documentMode

     return isIe() && window.XMLHttpRequest && !document.documentMode;

 }

判断IE8浏览器

在从IE9开始,微软慢慢的靠近标准,我们把IE678称为非标准浏览器,IE9+与其他如chrome,firefox浏览器称为标准浏览器。两者的区别其中有一个是alert(-[1,]);//在IE678中打印的是NaN,但是在标准浏览器打印的是-1

那么我们就可以根据上面的区别来判断是IE8浏览器。方法如下:

 

function isIe8(){
  // alert(!-[1,])//->IE678返回NaN 所以!NaN为true 标准浏览器返回-1 所以!-1为false
  return isIe() &&!-[1,]&&document.documentMode;
 }

判断IE9、IE10、IE11浏览器

从IE8浏览器是支持JSON内置对象的,从IE10开始支持js的严格模式。IE9+下alert(!-[1,])返回的是false,IE9+是支持addEventListener的,但是IE11浏览器中是不支持原来IE中独有的事件绑定attachEvent。根据这些区别我们就能区分出IE9、IE10、IE11浏览器了。

判断其他浏览器

//检测函数
 var check = function(r) {
   return r.test(navigator.userAgent.toLowerCase());
 };
 var statics = {
   /**
   * 是否为webkit内核的浏览器
   */
   isWebkit : function() {
     return check(/webkit/);
   },
   /**
   * 是否为火狐浏览器
   */
   isFirefox : function() {
     return check(/firefox/);
   },
   /**
   * 是否为谷歌浏览器
   */
   isChrome : function() {
     return !statics.isOpera() && check(/chrome/);
   },
   /**
   * 是否为Opera浏览器
   */   isOpera : function() {
     return check(/opr/);
   },
   /**
   * 检测是否为Safari浏览器
   */
   isSafari : function() {
   // google chrome浏览器中也包含了safari
     return !statics.isChrome() && !statics.isOpera() && check(/safari/)
   }
 };

以上就是本文的全部介绍,希望可以帮助到大家。

Javascript 相关文章推荐
jQuery UI Autocomplete 1.8.16 中文输入修正代码
Apr 16 Javascript
JavaScript也谈内存优化
Jun 06 Javascript
jQuery搜索同辈元素方法
Feb 10 Javascript
JavaScript实现的商品抢购倒计时功能示例
Apr 17 Javascript
angular.fromJson与toJson方法用法示例
May 17 Javascript
p5.js入门教程之小球动画示例代码
Mar 15 Javascript
javascript少儿编程关于返回值的函数内容
May 27 Javascript
vue框架搭建之axios使用教程
Jul 11 Javascript
浅谈小程序 setData学问多
Feb 20 Javascript
vue-router跳转时打开新页面的两种方法
Jul 29 Javascript
JavaScript 替换所有匹配内容及正则替换方法
Feb 12 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
Aug 21 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
Jul 27 #Javascript
readonly和disabled属性的区别
Jul 26 #Javascript
javascript实现继承的简单实例
Jul 26 #Javascript
IE10中flexigrid无法显示数据的解决方法
Jul 26 #Javascript
javascript实现将文件保存到本地方法汇总
Jul 26 #Javascript
javascript获取当前的时间戳的方法汇总
Jul 26 #Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
Jul 26 #Javascript
You might like
PHP 和 XML: 使用expat函数(一)
2006/10/09 PHP
PHP中Session引起的脚本阻塞问题解决办法
2014/04/08 PHP
PHP遍历文件夹与文件类及处理类用法实例
2014/09/23 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
javascript 上下banner替换具体实现
2013/11/14 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
2020/06/23 Javascript
纯js实现手风琴效果代码
2020/04/17 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
[55:47]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第三局
2016/02/27 DOTA
Python中encode()方法的使用简介
2015/05/18 Python
python实现的系统实用log类实例
2015/06/30 Python
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
详解Python if-elif-else知识点
2018/06/11 Python
numpy matrix和array的乘和加实例
2018/06/28 Python
Python 脚本获取ES 存储容量的实例
2018/12/27 Python
在vscode中配置python环境过程解析
2019/09/28 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
python+openCV对视频进行截取的实现
2020/11/27 Python
为您搜罗全球潮流時尚品牌:HBX
2019/12/04 全球购物
简短的公司员工自我评价分享
2013/11/13 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
教师先进工作者事迹材料
2014/05/01 职场文书
简单租房协议书范本
2014/08/20 职场文书
员工激励培训演讲稿
2014/09/16 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
用python开发一款操作MySQL的小工具
2021/05/12 Python
HTML+VUE分页实现炫酷物联网大屏功能
2021/05/27 Vue.js
Python实现科学占卜 让视频自动打码
2022/04/09 Python