jQuery xml解析,检查IE8无法正常工作 [英] jQuery xml parse with check for IE8 not working
本文介绍了jQuery xml解析,检查IE8无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经查看并尝试了jQuery,XML和IE8上的所有SO答案,但没有什么能给我一个结果。关于如何使用jQuery或Javascript的任何其他建议?
I have looked through and tried all the SO answers on jQuery, XML and IE8, but nothing is giving me a result. Any other suggestions on how to get this to working with jQuery or Javascript?
$.ajax({
type: "GET",
url: "http://query.yahooapis.com/v1/public/yql?q=select%20title%2C%20link%20from%20rss%20where%20url%3D%22http%3A%2F%2Fwww.fs.usda.gov%2Fwps%2FPA_WIDConsumption%2Frssgetfile%3FxFSENavChannel00%3D1109%26xFSENavChannel02%3D091000000000000%26pathinfo%3D%2Fwps%2Fportal%2Ffsinternet%2F!ut%2Fp%2Fc5%2F04_SB8K8xLLM9MSSzPy8xBz9CP0os3gjAwhwtDDw9_AI8zPwhQoYAOUjzeINcABHAwK6w0H2YaoI84GrAMvjMd_PIz83Vb8gN8Igy8RREQC1scDO%2Fdl3%2Fd3%2FL2dJQSEvUUt3QS9ZQnZ3LzZfMjAwMDAwMDBBODBPSEhWTjJNMDAwMDAwMDA!%2F%3Fnavtype%3DBROWSEBYSUBJECT%26forestname%3DRegion%25209%22",
dataType:"xml",
success: function(msg){
data = parseXml(msg);
$(data).find('item').each(function(index,val){
var title = $(this).find("title").text();
var link = $(this).find("link").text();
$('#loadnews').append("<li><a href="+link+">"+title+"</a></li>");
});
}
});
function parseXml(xml) {
if ($.browser.msie && parseInt($.browser.version, 10) === 8) {
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.loadXML(xml);
xml = xmlDoc;
}
return xml;
}
if ($.browser.msie && parseInt($.browser.version, 10) === 8) {
alert('IE8');
} else {
alert('Non IE8');
}
小提琴在这里: http://jsfiddle.net/tjbLf/7/
推荐答案
为什么需要XML转换? jQuery可以为你完成所有工作:
Why do you need XML transformation? jQuery can do all the job for you:
$.ajax({
type: "GET",
url: "...",
dataType: "xml",
success: function(data) {
$(data).find('item').each(function(index, val) {
var title = $(this).find("title").text();
var link = $(this).find("link").text();
$('#loadnews').append("<li><a href=" + link + ">" + title + "</a></li>");
});
}
});
DEMO: http://jsfiddle.net/tjbLf/9/
然而,在跨域请求中IE会给出No transport错误。考虑使用JSONP从外部Web服务接收数据。
However, in cross-domain requests IE will give "No transport" error. Consider using JSONP to receive the data from external web services.
这篇关于jQuery xml解析,检查IE8无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文