Загрузка новостной ленты XML через Ajax - IE8 не работает

Итак, у меня есть система новостной ленты, которая отлично работает во всех браузерах, кроме IE8!

Теперь код, который я написал, был создан методом проб и ошибок, поэтому могут возникнуть некоторые очевидные проблемы с кодированием, о которых я не знаю.

Вот внешний файл JS (я использую jQuery 1.7.2)

$(document).ready(function(){
$.ajax({
type: "GET",
url: "newsfeed_en.xml",
dataType: "html",
success: function(xml) {
$(xml).find("element:first").each(function(){
    var year = $(this).find("year").text();
    var month = $(this).find("month").text();
    var day = $(this).find("day").text();
    var date = day+"-"+month+"-"+year;
    var content = $(this).find("content").html();
    var newselement = '<div class="newsElement"><h4>'+date+'</h4><p>'+content+'</p></div>';
    $('#news h1').after(newselement);
});
$(xml).find("element:gt(0)").each(function(){
    var year = $(this).find("year").text();
    var month = $(this).find("month").text();
    var day = $(this).find("day").text();
    var date = day+"-"+month+"-"+year;
    var content = $(this).find("content").html();
    var newselement = '<div class="newsElement"><h4>'+date+'</h4><p>'+content+'</p></div>';
    $('#news #paneMoreNews').append(newselement);
});
}
});
});

`

Для этого нужно взять первый ЭЛЕМЕНТ и поместить его в одно место, а все остальные - в другое.

Теперь мне пришлось установить тип данных в HTML, потому что некоторые элементы содержат ССЫЛКИ, но изменение его на XML не решает проблему. Убрать ": первый" прочь тоже не решает.

Я искал это место, но ни одно из других решений не работает.

1 ответ

Решение

Вам нужно использовать тип данных: xml

$.ajax({
    type: "GET",
    url: "sites.xml",
    dataType: "xml",
    success: function(xml) {

    }
});
Другие вопросы по тегам