(window.ActiveXObject) 什麼意思?
解:判斷浏覽器是否支持ActiveX控件,如果浏覽器支持ActiveX控件可以利用
var xml=new ActiveXObject("Microsoft.XMLHTTP");創建XMLHttpRequest 對象(這是在IE7以前的版本中);在較新的IE版本中可以利用 var xml=new ActiveXObject("Msxml2.XMLHTTP")的形式創建XMLHttpRequest對象;而在IE7及非IE浏覽器中可以利用var xml=new XMLHttpRequest()創建XMLHttpRequest對象。
創建XMLHttpRequest 對象,必須考慮到浏覽器兼容問題
創建XMLHTTPRequest對象 對了,說到區別,我們這裡來看看怎麼來聲明(使用)它,在使用XMLHTTPRequest對象發送請求和處理響應之前,我們必須要用javascript創建一個XMLHTTPRequest對象。(IE把XMLHTTPRequest實現為一個ActiveX對象,其他的浏覽器[如Firefox/Safari/Opear]則把它實現為一個本地的javascript對象)。下面我們就來看看具體怎麼運用javascript來創建它吧:
代碼:
復制代碼 代碼如下:
<script language="javascript" type="text/javascript">
<!--
var xmlhttp;
// 創建XMLHTTPRequest對象
function createXMLHTTPRequest(){
if(window.ActiveXObject){ // 判斷是否支持ActiveX控件
xmlhttp = new ActiveObject("Microsoft.XMLHTTP"); // 通過實例化ActiveXObject的一個新實例來創建XMLHTTPRequest對象
}
else if(window.XMLHTTPRequest){ // 判斷是否把XMLHTTPRequest實現為一個本地javascript對象
xmlhttp = new XMLHTTPRequest(); // 創建XMLHTTPRequest的一個實例(本地javascript對象)
}
}
//-->
</script>
js用來區別IE與其他浏覽器及IE6-8之間的方法。
1、document.all
2、!!window.ActiveXObject;
使用方法如下:
復制代碼 代碼如下:
if (document.all){
alert(”IE浏覽器”);
}else{
alert(”非IE浏覽器”);
}
if (!!window.ActiveXObject){
alert(”IE浏覽器”);
}else{
alert(”非IE浏覽器”);
}
下面是區別IE6、IE7、IE8之間的方法: 復制代碼 代碼如下:
var isIE=!!window.ActiveXObject;
var isIE6=isIE&&!window.XMLHttpRequest;
var isIE8=isIE&&!!document.documentMode;
var isIE7=isIE&&!isIE6&&!isIE8;
if (isIE){
if (isIE6){
alert(”ie6″);
}else if (isIE8){
alert(”ie8″);
}else if (isIE7){
alert(”ie7″);
}
}
首先我們確保這個浏覽器為IE的情況下,進行了在一次的檢測,如果你對此有懷疑,可以測試一下。
我這裡就直接使用在判斷中了,你也可以將他們先進行聲明成變量進行使用。據說火狐以後也會加入document.all這個方法,所以建議使用第二種方法,應該會安全一些。