возник вопрос, почему почти везде делают так :
function xlmObj(){
try {
return new XMLHttpRequest();
} catch (m){
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
return ;
}
}
}
}
если можно сделать по-другому, не вычисляя каждый раз ЭТО :
(function(window){
if( !window.XMLHttpRequest ){
window.XMLHttpRequest = (function(){
try {
return new ActiveXObject("Msxml2.XMLHTTP");
}
catch ( e ) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch ( g ) { return new IFRAME_imitation(); }
}
})()// func end.
}
})(window)
а потом уже использовать XMLHttpRequest,как обычно. во всех браузерах
var a = XMLHttpRequest( ) ;
a.open('GET',url);
........
если это ифрейм-имитация, то во фрейме будет при open создаваться форма, при send отправляться. ну , это уже можно додумать.
и еще один вопрос.
в jQuery , можно посмотреть
тут,например
по поиску
// Fake xhr, в функции ajax, есть фейковый объект XMLHttpRequest
и метод аборт у него :
// Cancel the request
abort: function( statusText ) {
statusText = statusText || "abort";
if ( transport ) {
transport.abort( statusText );
}
done( 0, statusText );
return this;
}
обьясните пожалуйста,зачем создавать этот фейковый объект XMLHttpRequest.