Есть код на JS написанный с использованием jQuery 1.4.2. На данный момент работоспособност проверена в FireFox и Chrome.
Есть проблема в IE8, пробовал переводить в режим совместимости с 7 - не помогает, при обработке xml ответа - сообщается о отсутсвии объекта.
Прочитав документация по jQuery.ajax() я нашёл, что можно создать свою фукцию для создания объекта XMLHttpRequest. На сайте MSD было обнаружение описание объекта XMLHttpRequest применительно к IE7 (http://msdn.microsoft.com/en-us/library/ms535874%28VS.85%29.aspx). Использую эти данные написал следующий код:
Код: Выделить всё
xhr: function() {
if(window.XMLHttpRequest) {
return new XMLHttpRequest()
} else {
/*try {
return new ActiveXObject("MSXML2.XMLHTTP.3.0")
}
catch(e) {
return null
}*/
try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); }
catch(e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); }
catch(e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP"); }
catch(e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); }
catch(e) {}
}
}Обработка ответа сервера происходит следующим образом:
Код: Выделить всё
complete: function(XMLHttpRequest, textStatus) {
if (200 == XMLHttpRequest.status) {
var p = XMLHttpRequest.responseXML.
documentElement.childNodes[1].firstChild
$('#manuf').text(p.firstChild.textContent);
$('#model').text(p.childNodes[1].textContent);
$('#firm').text(p.childNodes[2].textContent);
$('#serial').text(p.childNodes[3].textContent);
$('#hw').text(p.lastChild.textContent);
} else
$('#err').html('<font color = "red"><strong>' +
'Information about device not available!' +
'</strong></font>');
}Вопрос - как необходимо создать объект XMLHttpRequest для InternetExplorer?
Спасибо.