我制作了一个脚本来使用 jQuery 解析 XML 文件,因为它位于另一个域中,所以我使用 YQL 作为代理。
该脚本在 Chrome、Safari、FF 中运行良好。使用 IE Developer 工具时,我可以看到 XML 文件,但在第一次 ajax 调用之后它似乎没有运行任何东西。关于 Opera 如果有人有类似于 IE 的 XDomainRequest 的修复程序,那将是合适的,但不如为 IE 解决它重要。如果可能的话,我想通过不使用 jsonp-data 来解决这个问题。
$(document).ready(function() {
// detect IE CORS transport
if ('XDomainRequest' in window && window.XDomainRequest !== null) {
// override default jQuery transport
$.ajaxSettings.xhr = function() {
try { return new XDomainRequest(); }
catch(e) { }
};
// also, override the support check
jQuery.support.cors = true;
//runs in IE
alert('hi1');
}
// ajax call to get the xml-data from the YQL console
$.ajax(
//runs in IE
alert('hi2'),
{
url: 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20%0A%20%20%20from%20xml%20%0A%20%20where%20url%3D%22https%3A%2F%2Fwww.lightbet.com%2Fxmlfeeds.aspx%3Ftype%3DCasinoJackpots%22&diagnostics=true',
type: 'GET',
dataType: 'xml',
success : function(xml) {
//doesn't run in IE
alert('hi3');
// Run the function for each Game tag in the XML file
$('Game',xml).each(function game(i) {
var $this = $(this),
game = $this.attr("name")
// appned all the game names to a div
$("#game_name").append(game);
//doesn't run in IE
alert('hi4');
});
}});
});