8
votes

JavaScript: lequel dois-je utiliser, Microsoft.xMLLHTTP ou MSXML2.XMLLHTTP?

Il y a deux PROGID. J'ai vu les deux utilisées.

Quelqu'un a-t-il une idée de savoir quand je devrais utiliser un, contre l'autre?


0 commentaires

4 Réponses :



0
votes

Peut-être pas exactement la réponse que vous voulez, mais que, si vous développez une application Ajax, je dirais que vous ne devriez pas utiliser l'une quelconque de ceux-ci: vous devez plutôt utiliser un cadre JavaScript qui traitera de la compatibilité du navigateur, et ne pas se battre cette bataille.

Par exemple (il y en a beaucoup plus):


3 commentaires

Appuyé. Il n'est pas nécessaire de se mêler à des implémentations spécifiques au navigateur ici, sauf peut-être pour certains vraiment des choses spécifiques qui ne peuvent pas être faites avec le navigateur croisé. Utiliser un cadre et être fait avec elle.


Puis-je télécharger des blob binaires en utilisant la capacité Ajax à JQuery? Tout ce qui précède?


Hmm .. Pas si sûr, Vanilla JS est l'approche la mieux performante.



0
votes

Ce code prend soin de soi et firefox.

try {
  XMLHttpRequestObject = new ActiveXObject("MSXML2.XMLHTTP");
} catch (exception1) {
  try {
    XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (exception2) {
    XMLHttpRequestObject = false;
  }
}

if (!XMLHttpRequestObject && window.XMLHttpRequest) {
  XMLHttpRequestObject = new XMLHttpRequest();
}


0 commentaires

7
votes

Vous devez absolument utiliser Microsoft.XMLHTTP.

du blog de l'équipe Microsoft XML : Utilisation de la version droite de MSXML dans Internet Explorer : ( archive )

msxml2 vs espace de noms Microsoft - J'ai également vu beaucoup de code que instancie le " microsoft.xmlhttp " Objet ActiveX plutôt que le msxml2.xmlhttp.3.0 ou msxml2.xmlhttp.6.0 si vous utilisez 6.0. L'espace de noms «Microsoft» est en réalité plus âgé et n'est implémenté que dans MSXML3 pour un soutien hérité. Son malheureux, nous avons utilisé le nom "meilleur" sur la plus ancienne version, mais coller à la Espace de noms "MSXML2" lors de l'instanciation objets.


0 commentaires