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関数をサポートすることができます.