//判断IE78 兼容性检测 var isIE = !! window.ActiveXObject; var isIE6 = isIE&& ! window.XMLHttpRequest; var isIE8 = isIE&& !! document.documentMode; var isIE7 = isIE&& ! isIE6&&!isIE8; if(isIE8 || isIE7){ ele.attachEvent("onclick",function(){ //... }) }else{ ele.addEventListener("click",function(){ //... }) }
在使用XMLHTTPRequest对象发送请求和处理响应之前,我们必须要用JavaScript创建一个XMLHTTPRequest对象。(IE把XMLHTTPRequest实现为一个ActiveX对象,其他的浏览器[如Firefox/Safari/Opear]则把它实现为一个本地的javascript对象)。
window.ActiveXObject的作用:用来判断浏览器是否支持ActiveX控件(是:IE,否:其他浏览器)。
如果支持ActiveX控件,我们可以利用var xml=new ActiveXObject("Microsoft.XMLHTTP")的形式来创建XMLHTTPRequest对象(这是在IE7以前的版本中,例如IE6)。
在较新的IE版本中可以利用var xml=new ActiveXObject("Msxml2.XMLHTTP")的形式创建XMLHttpRequest对象;
而在IE7及非IE浏览器中可以利用var xml=new XMLHttpRequest()创建XMLHttpRequest对象。
documentMode:documentMode属性返回浏览器渲染当前文档所用的模式。
IE8可以以不同的模式渲染一个页面,主要依赖于!DOCTYPE或者当前的某一个HTML元素。
按照下列的值返回:
- 5 ----- in IE5 mode
- 7 ----- in IE7 mode
- 8 ----- in IE8 mode
- 9 ----- in IE9 mode
注:如果没有定义!DOCTYPE,IE8以IE5的模式来渲染页面。
documentMode 是一个IE的私有属性,在IE8+中被支持。