cutmail's blog

write the code

ブラウザ別XMLHttpRequestオブジェクトの作り方まとめ

ajaxなどで非同期に通信する際に、XMLHttpRequestを使うと思いますが、
XMLHttpRequestオブジェクトは標準技術ではないため、
ブラウザによってインスタンスの作り方が違います。
忘れがちというか、覚えるためにメモ。

IE6以下

<script type="text/javascript">
   var xmlhttp = false;
   try {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e) {
    xmlhttp = false;
  }
</script>

ただし、バージョンによって

  • ActiveXObject("Msxml2.XMLHTTP.5.0")
  • ActiveXObject("Msxml2.XMLHTTP.4.0")
  • ActiveXObject("Msxml2.XMLHTTP.3.0")
  • ActiveXObject("Msxml2.XMLHTTP")

なども使用出来るらしいです。

Firefox,IE7

<script type="text/javascript">
   var xmlhttp = false;
   try {
    xmlhttp = new XMLHttpRequest();
  } catch (e) {
    xmlhttp = false;
  }
</script>

IEはVer.7でやっとFirefoxと同じやり方ができるようになったんですね。
いやーもうIEに振り回されるのは嫌だ。