2009-12-17 43 views

回答

1

也许不完全是你想要的答案,但是,如果你是深化发展的Ajax应用程序,我会说你不应该使用其中的任何一个:相反,你应该使用一个能够处理浏览器兼容性的Javascript框架,而不是重新打这场战斗。

例如(还有更多):

而且,作为一个阿里纳斯,他们会给你很多其他有用的东西;-)

+0

借调。在这里没有必要干涉浏览器的具体实现,除了一些非常特殊的东西,不能跨浏览器。使用框架并完成它。 – 2009-12-17 10:59:14

+0

我可以使用jQuery中的ajax功能下载二进制blob吗?以上任何一项? – Cheeso 2009-12-17 22:22:44

+2

嗯..不太确定,Vanilla js是表现最好的方法。 – Nikos 2014-02-13 17:43:20

0

此代码负责IE和firefo X。

try { 
    XMLHttpRequestObject = new ActiveXObject("MSXML2.XMLHTTP"); 
} catch (exception1) { 
    try { 
    XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); 
    } catch (exception2) { 
    XMLHttpRequestObject = false; 
    } 
} 

if (!XMLHttpRequestObject && window.XMLHttpRequest) { 
    XMLHttpRequestObject = new XMLHttpRequest(); 
} 
5

你绝对不应该使用Microsoft.XmlHttp。

微软XML团队博客Using the right version of MSXML in Internet Explorer

MSXML2与微软命名空间 - 我也看到了很多的代码, 实例化 “Microsoft.XMLHTTP” ActiveX对象,而不是 MSXML2.XMLHTTP.3.0MSXML2.XMLHTTP.6.0如果您使用的是 6.0。 “Microsoft”命名空间实际上较旧,并且仅在MSXML3中实现 以支持旧版本。这是 不幸的是,我们在旧版本上使用了“更好”的名称 ,但在实例化 对象时,坚持使用 “msxml2”命名空间。