TJ Holowaychuk のスーパーエージェント ライブラリ ("Ajax with less suck")try
の IE 用の ActiveXObject メソッドが、クロス ブラウザー XHR オブジェクトを生成するときにいくつかあることに気付きました。
// ...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 では、これは試行されません。ここで何が起こっているのか興味があります。
「ActiveXObject」のjQueryソースを検索して、自分で確認できます:http://code.jquery.com/jquery-1.8.2.js
new ActiveXObject('Microsoft.XMLHTTP');
スローとウォーターフォールが他のオプションに移行するのはいつですか?