我试图更新一个旧的JavaScript函数来检测对AJAX(即XmlHttpRequest对象)的支持。我在网上查看过(包括SO),并找到了各种解决方案,但我不确定哪种方法对于简单检测支持最有效。检测AJAX/XmlHttpRequestSupport的最佳实践
当前功能是:
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支持的真/假的最佳方式是什么?
这是jQuery如何做到的,尽管我不确定改变它的最好方法,以便它返回一个布尔值。 var xhr = window.ActiveXObject?新的ActiveXObject(“Microsoft.XMLHTTP”):new XMLHttpRequest(); – tjrobinson 2008-11-20 16:41:45