XMLHttpRequestについて
XMLHttpRequestはブラウザによって動作が違っていたりして、クロスブラウザに対応するには、別途JavaScriptを用意したり、ブラウザによって別のインスタンス*1を返したりする必要がある。
正直、面倒だなぁと思っていながら、Google Maps APIをいじっていたら、Google Maps APIにはちゃんとクラスが用意されているではないか。
namespace GXmlHttp
This namespace provides a factory method to create XmlHttpRequest instances in a browser independent way.
例は以下。
var request = GXmlHttp.create(); request.open("GET", "myfile.txt", true); request.onreadystatechange = function() { if (request.readyState == 4) { alert(request.responseText); } } request.send(null);
create()のstaticメソッドしかないが、これで十分。すばらしい。