いしのなかにいるでタグ「Ajax」が付けられているもの

 内部的なことですが、Ajax関連でリクエストの発行管理をしているスクリプトを更新しました。
これまではレスポンスが返ってくるたびに次のリクエストを発行していたのですが、キューにリクエスト情報を登録する方法に変更。
おまけで管理クラスをまとめてメソッドからプロパティから全て単独のオブジェクトがニラミをきかせられるようにしました。オブジェクト指向の正しいカタチ。
具体的になにができるようになったかっつーと、複数のリクエストを同時に行いたい場合はこの管理クラスのインスタンスを増やしてやればいい、という寸法。より汎用的に。ビバオブジェクト指向。

Ajaxのクロスブラウズ

| この記事をはてなブックマークに追加

Ajaxの要であるXMLhttpRequestはもともとMicrosoftがActiveXオブジェクトとして実装したものなんですが、これにならって他のブラウザは組み込みオブジェクトとして実装されました。
IE5とIE6ではActiveXが禁止されている場合では使用できないんですが、IE7になってようやくブラウザ組み込みとして再実装されました。
実際に使う場合IE6とそれ以外のブラウザでは作法がかなり違います。(IE5は試してないのでここでは例外とします)

if(typeof window.XMLHttpRequest == "undefined"){
if(typeof window.ActiveXObject == "function"){
try {
new ActiveXObject("Msxml2.XMLHTTP");
window.XMLHttpRequest = function(){
return new ActiveXObject("Msxml2.XMLHTTP");
}
}
catch (e) {
try {
new ActiveXObject("Microsoft.XMLHTTP");
window.XMLHttpRequest = function(){
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
catch (e) {
}
}
}
}
Ajax = new window.XMLHttpRequest();

これで一応IE6でもそれ以外でも動作するXMLhttpRequestのインスタンスが作れるんですが、絶妙に不便な違いがあります。

タグ

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 4.14