JavaScript判断IE版本
判断IE兼容到IE11
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判断IE版本的更多相关文章
- [JS]JavaScript判断操作系统版本
function detectOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.platform == " ...
- javascript判断浏览器的版本
在javascript中直接的使用navigator.userAgent就可以获取当前浏览器的版本等信息,以下是列出来的关于不同浏览器显示的值(Windows.Android.iPhone): IE6 ...
- JavaScript判断浏览器类型及版本
JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一 ...
- (转)JavaScript判断浏览器类型及版本
IE 只有IE支持创建ActiveX控件,因此她有一个其他浏览器没有的东西,就是ActiveXObject函数.只要判断window对象存在ActiveXObject函数,就可以明确判断出当前浏览器是 ...
- 通过JavaScript判断当前浏览器版本
从别人处拷贝,只用于自己学习之用.参考源自:http://www.cnblogs.com/leadzen/archive/2008/09/06/1285764.html JavaScript是前端开发 ...
- javascript判断手机浏览器版本信息
<script type="text/javascript"> /* * 智能机浏览器版本信息: * */ var browser={ versions:functio ...
- JavaScript判断移动端及pc端访问不同的网站
JavaScript判断移动端及pc端访问不同的网站 现在很多网站都是分为两个版本,一个pc端的一个移动端的(响应式除外),针对这两个版本,就需要对访问的设备进行判断,如果是pc,就直接访问pc网站, ...
- HMTL判断ie版本
html判断IE版本 1. <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> 2. <!--[if IE]> ...
- html判断IE版本
html判断IE版本 . <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> . <!--[if IE]> ...
随机推荐
- Linux常用命令小结(续)
20. mysql mysql --host=127.0.0.1 --port=3306 --database=test --user=test --password=test --default-c ...
- PRINCE2项目管理七大流程之指导流程
PRINCE2项目管理七大流程之指导流程 今天学习七大流程之二--项目指导流程 项目指导流程的目的就是使项目管理委员会能够对项目的成功负责,具体来说,是由项目管理委员会作出关键决策,并进行总体控制 ...
- 设置button键隐藏文字text
新手的第一天,从最简单的view开始做起.首先先来做个最简单的button携带不可见文本,想要的时候,get它就行了. 编程的都知道,get .set方法,就不多介绍了. 创建一个类,MyButto ...
- 为现有图像处理程序添加读写exif的功能
为现有图像处理程序添加读取exif的功能 exif是图片的重要参数,在使用过程中很关键的一点是exif的数据能够和图片一起存在.exif的相关功能在操作系统中就集成了,在csharp中也似乎有了实现. ...
- linux中断处理原理分析
Tasklet作为一种新机制,显然可以承担更多的优点.正好这时候SMP越来越火了,因此又在tasklet中加入了SMP机制,保证同种中断只能在一个cpu上执行.在软中断时代,显然没有这种考虑.因此同一 ...
- vue-cli 安装报错
# 全局安装 vue-cli $ npm install --global vue-cli # 创建一个基于 webpack 模板的新项目 $ vue init webpack my-project ...
- Java进行post和get传参数
http://www.cnblogs.com/zhuawang/archive/2012/12/08/2809380.html get和post方法 import java.io.BufferedRe ...
- DPI
[iOS]查找数组NSArray中是否包含指定的元素 http://blog.csdn.net/zyq527758142/article/details/51278172 Dpi(每平方英寸像素数目) ...
- 20161127-monkey
1.配置好adt-bundle-windows-x86-20131030 2.设置环境变量
- 利用PhantomJS进行网页截屏,完美解决截取高度的问题
关于PhantomJS PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS ...