gpt4 book ai didi

jquery - 使用 jQuery.find() 和 XML 文档获取 HTMLUnknownElement

转载 作者:行者123 更新时间:2023-12-01 04:32:29 25 4
gpt4 key购买 nike

我正在尝试通过 Ajax 请求加载 XML 文档(特别是 RSS 提要),对其进行解析,然后将一些基于所述提要的信息插入到我的页面中。该代码在 Firefox、Opera、Chrome 和 Safari 中运行良好,但在 IE7 中不行。想想吧。

经过一些初步调试后,我发现 XML 字符串正在通过请求检索,并且在尝试从文档中解析节点时得到的特定节点类型是HTMLUnknownElement

相关代码如下:

$.get('feed.php', function(oXmlDoc) {

var titles = $(oXmlDoc).find('title');
var dates = $(oXmlDoc).find('pubDate');

for(var i = 0; i < 5; i++) {
parseNodes(titles[i].firstChild.nodeValue, dates[i].firstChild.nodeValue));
}

});

parseNodes 函数实际上从未被命中,因为 IE 无法访问 firstChild,因此也无法访问 nodeValue

预先感谢您提供有关如何解决此问题的任何想法和/或建议。

最佳答案

我能够解决这个问题,但它需要一些特定于 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));
}
}
});

无论如何,它没有我想要的那么优雅,但它完成了工作。

关于jquery - 使用 jQuery.find() 和 XML 文档获取 HTMLUnknownElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/624723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com