Я пытаюсь обновить старую функцию JavaScript, используемую для обнаружения поддержки AJAX (то есть объект 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.
Какой лучший способ получить значение true / false для поддержки XmlHttpRequest?