AJAX (つまり、XmlHttpRequest オブジェクト) のサポートを検出するために使用される古い JavaScript 関数を更新しようとしています。オンライン (SO を含む) を調べて、さまざまな解決策を見つけましたが、単純にサポートを検出するのにどれが最も効率的かわかりません。
現在の機能は次のとおりです。
function IsSyncAJAXSupported()
{
var isSyncAJAXSupported = true;
var xmlHttp = null;
var clsids = ["Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
for(var i=0; i<clsids.length && xmlHttp == null; i++) {
try {
xmlHttp = new ActiveXObject(clsids[i]);
} catch(e){}
}
if(xmlHttp == null && MS.Browser.isIE)
{
isSyncAJAXSupported = false;
}
return isSyncAJAXSupported;
}
Firefox 3 では、MS が定義されていないため、上記でエラーが発生します。
ライブラリを使用する方が良いことはわかっていますが、それは短期的な選択肢ではありません。サポートされているのは、IE6 以降 + 最近のバージョンの Firefox、Safari/WebKit、および Opera のみです。
XmlHttpRequest サポートの true/false を取得する最良の方法は何ですか?