jsのXMLHttp Requestオブジェクトの作成

1035 ワード

仕事の中で出会ったのは、Microsoft.XMLHTTPのXHRオブジェクトで、初めての訪問だけがXHRオブジェクトにアクセスできます.その後の作成では、XHRオブジェクトが入手できません.だから関連の書籍を探して、「javascript高級プログラム設計」では、共通の方法を見つけます.
function CreateXHR() {
	if ("undefined" != typeof XMLHttpRequest)
	{
		return new XMLHttpRequest();
	} else if ("undefined" != typeof ActiveXOjbect){
		if ("string" != typeof arguments.callee.activeXString){
			var versions = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp"];
			var i, len;
			
			for (i = 0, len = versions.length; i < len; i++){
				try{
					new ActiveXObject(versions[i]);
					arguments.callee.activeXString = versions[i];
					break;
				} catch(ex){
					//   
				}
			}
		}
		
		return new ActiveXObject(arguments.callee.activeXString);
	} else {
		throw new Error("No XHR object available.");
	}
}
IE 7とより高いバージョンだけをサポートしたいなら、赤字部分の内容は大きく捨てて、元のXHRだけで実現できます.IEの初期バージョンをサポートしなければならないならば、このcreateXHR関数で原生XHR関数をサポートすることができます.