Originariamente inviato da Mich_
if (window.ActiveXObject) {

Non credo che questo oggetto esista in browser diversi da IE
ma credo che sia appunto quello lo snodo...
se esiste, quindi hai IE, fa così:
codice:
if (window.ActiveXObject) {
  if (navigator.userAgent.toLowerCase().indexOf("msie 5") != -1) {
  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } else {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  }
}
e in base alla versione di IE usa l'oggetto adatto.
se non esiste...controlla che la variabile xmlhttp sia vuota e allora usa "new XMLHttpRequest()"-->firefox
codice:
if (!xmlhttp && typeof(XMLHttpRequest) != 'undefined') {
  xmlhttp = new XMLHttpRequest()
}
return xmlhttp
}
:master: