通过Ajax加载XML Newsfeed - IE8无法正常工作

时间:2012-09-11 10:52:43

标签: jquery xml ajax internet-explorer-8 news-feed

所以我有这个新闻源系统,除了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);
});
}
});
});

`

它做的是把第一个ELEMENT放在一个位置,把所有其他放在其他地方。

现在我必须将数据类型设置为HTML,因为某些ELEMENT包含LINKS,但将其更改为XML并不能解决问题。把“:第一”带走也不能解决它。

我搜索了这个地方,但没有其他解决方案有效。

1 个答案:

答案 0 :(得分:0)

您需要使用数据类型:xml

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

    }
});