我创建了一个用jQuery解析XML文件的脚本,因为它在另一个域上我使用YQL作为代理。
该脚本适用于Chrome,Safari,FF。我在使用IE Developer工具时可以看到XML文件,但在第一次ajax调用之后似乎没有运行任何东西。关于Opera如果有人有一个类似于IE的XDomainRequest的修复,那将是appriciated,但不如解决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');
});
}});
});
答案 0 :(得分:0)
我应该去jQuery错误报告站点开始,因为有一张票http://bugs.jquery.com/ticket/8283
jaubourg这个非常棒的插件使它非常流畅: https://github.com/tlianza/ajaxHooks/blob/master/src/ajax/xdr.js
此外,如果有人获得插件或Opera的某种修复程序,那将非常适合。