2009-12-17 247 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」命名空間。