Мне удалось это исправить, но для того, чтобы это работало, потребовалось немного кода, специфичного для IE. По сути, вот как я решил эту проблему.
Сначала я убедился, что мой код на стороне сервера возвращает правильный тип контента:
header('Content-Type: application/rss+xml');
После этого я проверил, какой браузер в данный момент обращается к странице:
if($.browser.msie) {
// ie-specific code (see below)
} else {
// code as posted in the question
}
Чтобы лучше контролировать запрос ajax, я решил использовать функцию jQuery $.ajax
вместо функции $.get
.
var oXmlDoc = new ActiveXObject("Microsoft.XMLDOM");
$.ajax({
url: "feed.php",
processData: false,
data: oXmlDoc,
success: function(sXml) {
oXmlDoc.loadXML(sXml)
var titles = $('title', oXmlDoc);
var dates = $('date', oXmlDoc);
for(var i = 0; i < 5; i++) {
parseNodes(titles[i].childNodes[0].nodeValue, dates[i].childNodes[0].nodeValue));
}
}
});
В любом случае, это не так элегантно, как хотелось бы, но оно выполняет свою работу.