也许每个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