Я пытаюсь обновить старую функцию 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»): новый XMLHttpRequest(); – tjrobinson 2008-11-20 16:41:45