2

try在生成跨浏览器 XHR 对象时,我注意到 TJ Holowaychuk 的超级代理库(“Ajax with less sink”)的几个用于 IE 的 ActiveXObject 方法:

// ...if normal browser:
  return new XMLHttpRequest;
} else {
  try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch(e) {}
  try { return new ActiveXObject('Msxml2.XMLHTTP.6.0'); } catch(e) {}
  try { return new ActiveXObject('Msxml2.XMLHTTP.3.0'); } catch(e) {}
  try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch(e) {}
}

完整代码:https ://github.com/visionmedia/superagent/blob/master/build/build.js#L359-376

在 jQuery 中,没有尝试这样做,我很好奇这里发生了什么。

您可以在 jQuery 源代码中搜索“ActiveXObject”并亲自查看:http ://code.jquery.com/jquery-1.8.2.js

什么时候new ActiveXObject('Microsoft.XMLHTTP');抛出和瀑布下降到其他选项?

4

0 回答 0