也許每個Web開發人員很熟悉這樣的模式:MSXML2.XMLHTTP請求將選擇哪個版本,而沒有版本後綴?
var xmlHttp = null;
if (window.XMLHttpRequest) {
// If IE7, Mozilla, Safari, and so on: Use native object.
xmlHttp = new XMLHttpRequest();
}
else
{
if (window.ActiveXObject) {
// ...otherwise, use the ActiveX control for IE5.x and IE6.
xmlHttp = new ActiveXObject('MSXML2.XMLHTTP');
}
}
但問題是 - 如果有客戶端的PC上提供多個MSXML版本(假設3.0,5.0,6.0),哪一個他們將通過MSXML2.XMLHTTP調用(通知沒有版本後綴)選擇?它會是最新的還是不一定?
還有一個問題 - 是否可以檢查選擇了哪個版本?
這僅適用於IE6及更早版本。就我個人而言,我不會太擔心哪一個確切的版本,但看看http://blogs.msdn.com/b/xmlteam/archive/2006/10/23/using-the-right-version-of- msxml-in-internet-explorer.aspx – James
IE7據說具有緩慢且有問題的原生XMLHttpRequest實現,所以最好再次使用ActiveXObject('xxx.XMLHTTP')。而且IE7將會有更多的年頭......所以。我知道那個資源,我從那裏來,但它並沒有真正回答這個問題。 – jayarjo