我正在尝试更新用于检测 AJAX 支持的旧 JavaScript 函数(即 XmlHttpRequest 对象)。我在网上查看(包括 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 支持的真/假的最佳方法是什么?