我有以下代码来解决IE本地访问XML问题:
$.ajax({
type: "GET",
url: options.xmlUrl,
dataType: ($.browser.msie) ? "text" : "xml",
success: function(data) {wrapTree(data);},
error:function(){alert(options.loadingError);}
});
由于$ .browser,它无法使用jQuery 2.0.0。 http://docs.jquery.com/Specifying_the_Data_Type_for_AJAX_Requests的建议不再有效。任何人都知道如何适应jQuery当前版本的运行?
答案 0 :(得分:2)
只需对所有情况使用dataType: "text"
,然后在成功处理程序中使用data = $.parseXML(data)
将其转换为所有浏览器上的XML。
答案 1 :(得分:0)
自v1.9以来,jQuery中已删除$.browser
功能,并且不推荐使用该功能,不建议在v1.3之前使用。他们建议使用功能检测来代替大多数用例而不是浏览器检测。
鉴于多久以前$.browser
功能已被弃用,如果jQuery页面建议使用它,那么该页面可能也很老 - 事实上,很可能新版本的jQuery不能使用根本不需要这个黑客。你试过把它完全抛弃吗?
如果确实需要它,您可以使用jQuery migrate library,它会放回从v1.9开始删除的所有已删除的功能,包括$.browser
。< / p>
但是,如果可能的话,我建议尝试找到一个不涉及此功能的解决方案,因为迁移库旨在解决短期升级问题,而不是长期解决方案; jQuery在将来的版本中可能不支持它。
我还要说,既然你正在使用jQuery 2.0,你应该注意到这个版本放弃了对IE v6,7和8的支持。如果你需要支持旧的IE版本,你需要坚持使用jQuery 1.x的更重要的是,如果您坚持使用v2.0,那么您只支持IE v9及更高版本。我不知道这个具体问题,但它可能只是旧IE版本中的一个问题,所以你可能根本不需要这个黑客。值得一试。
希望有所帮助。