//
// Define a list of Microsoft XML HTTP ProgIDs.
//
var XMLHTTPREQUEST_MS_PROGIDS = new Array(
"Msxml2.XMLHTTP.7.0",
"Msxml2.XMLHTTP.6.0",
"Msxml2.XMLHTTP.5.0",
"Msxml2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Microsoft.XMLHTTP"
);
//
// Retorna um objeto do tipo XMLHttpRequest.
//
function instanciaAjax()
{
var httpRequest = null;
// Cria a instância apropriada para o browser.
if (window.XMLHttpRequest != null)
httpRequest = new window.XMLHttpRequest();
else if (window.ActiveXObject != null)
{
// Senão, cria uma instância para IE.
var success = false;
for (var i = 0; i < XMLHTTPREQUEST_MS_PROGIDS.length && !success; i++)
{
try
{
httpRequest = new ActiveXObject(XMLHTTPREQUEST_MS_PROGIDS[i]);
success = true;
}
catch (ex)
{}
}
}
// Exibe um erro caso nenhuma das instâncias tenha sido criada.
if (httpRequest == null)
alert("Error in HttpRequest():\n\n"
+ "Cannot create an XMLHttpRequest object.");
return httpRequest;
}
Essa implementação foi publicada no site www.brainjar.com, o qual recomendo que acesse. Não possui muito conteúdo, mas os que tem, estão minunciosamente explicados.
Abraço!



Postagens
Não informado



