Не идеальное решение, но оно работает:
Я быстро обнаружил, что я не единственный, у кого есть эта проблема:
Поиск в Google , Ошибка JQuery , Вопрос Stackoverflow
и все, что я читаю, указывает на то, как IE читает и анализирует XML. Нашел умное решение, прочитав комментарии здесь:
блог см. Комментарий # 28
Это все еще не сработало. После некоторой игры с функцией ajax alittle я обнаружил, что если я удалю dataType, в дополнение к комментарию № 28 в сообщении в блоге, все будет работать в разных браузерах.
Итоговый код выглядит так:
//Retrieve our document
$.ajax({
type: "GET",
async: false,
url: settings.PresentationLocation,
success:function(results){
var xml = methods.parseXML(results);
$(xml).find('slide').each(function(){
//Create the slide
obj.append('<div class="slide"><div class="slideTitle">'+ $(this).find('title').text() +'</div><div class="slideContent">'+ $(this).find('content').text() +'</div></div>');
});
totalSlides = obj.children('.slide').size();
//Hide all the slides
obj.children('.slide').hide();
},
error: function(xmlReq, status, errorMsg){
var errMsg = settings.PresentationLocation + " : "+ errorMsg ;
throw(errMsg);
}
});
, где method.parseXML определяется как
parseXML : function(xmlFile){
if (window.ActiveXObject) {
//IE
var doc = new ActiveXObject('Microsoft.XMLDOM');
doc.loadXML(xmlFile);
return doc;
} else if (window.DOMParser) {
return (new DOMParser).parseFromString(xmlFile, 'text/xml');
}
return "";
}