php学习笔记(二十九)针对不同浏览器Ajax对象的创建

<?php
/**
 * 一、Ajax的介绍和优点
 * XMLHttpRequest
 * 
 * 二、创建ajax创建对象(需要多浏览器支持)
 * 创建过程复杂,但是代码相对固定
 * 要兼容各个浏览器
 * 1.ie系列
 * 2.非ie系列的浏览器
 * 
 */
?>
<script>
	function createXMLHttpRequest(){
	    var request = false;
	    //一般先判断非IE浏览器
	    //window对象中有XMLHttpRequest存在就是非IE,包括(IE7,IE8)
	    if(window.XMLHttpRequest){
	        request=new XMLHttpRequest();//非IE以及IE7,IE8浏览器
	        if(request.overrideMimeType){
	            request.overrideMimeType("text/xml");//重置mime类型
	        }
	    //window对象中有ActiveXObject属性存在就是IE浏览器的低版本
	    }else if(window.ActiveXObject){
	        var versions=['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];//各种IE浏览器创建Ajax对象时传递的参数
	        for(var i=0; i<versions.length; i++){
	            try{
	                request=new ActiveXObject(versions[i]);//各个IE浏览器版本的参数不同
	                if(request){
	                    return request;
	                }
	            }catch(e){
	                request=false;
	            }
	        }
	    }
	    return request;
	}
	
	//注意:必须把创建ajax对象的代码放在show 函数里,确保每次点击的时候都创建一个新的ajax对象。
	var ajax = null;
	
	function show(){
		ajax = createXMLHttpRequest();
		alert(ajax);
	}
</script>

你可能感兴趣的:(Ajax)