Honey Bot

Diary

- 日記設置完了(^ω^#)ビキビキ

やっと終わった…。
今日は昼から作業を始めて、チャットまで出来ればいいかなーと考えていたらこんな時間(もうすぐ26時)に。

とりあえず日記のAjax化完了なのです。
え、どこが?って人。見かけが全てじゃないんだぜ!
と言っても、実際見かけに変化がないのであればAjaxの意味ないんじゃないか…と思う。
ま、まぁ、今回の変更点を洗い出しておきまふ!

  • ページ表示直後に、XMLHttpRequestを用いてサーバから記事リストを取得して表示
  • [ ]ボタンをクリックすると、XMLHttpRequestを用いて記事内容をサーバから取得して表示

む・・・これだけか。
とは言え、この日記を書きながらチェックしてる間も続々と問題が発生。
その殆どが「ブラウザ依存性」の部分に関する問題である。
テスト環境はIE7とFireFox3で行っているが、両方で正しく動作するJavaScriptコードを記述するのはなかなか骨が折れる。
例を挙げてみよう。

  • DOM Level 2 で定義されているaddEventListenerメソッドがIEでは定義されておらず、代わりにattachEventメソッドがある。
  • IEのsetAttributeメソッドがDOM Level 1に準拠していない(属性名が独自…Level 1には準拠してるんじゃなかったのかよ(´A`))。
  • IEのgetAttributeメソッドでvalueを取り出すと、何故かinnerHTMLと同じ振る舞いをする。

IEの問題ばっかじゃねーか!
まぁ、FireFoxもinnerTextをサポートしてなかったりとかあるけど…。
getAttribute("className")とか書かせるIEより全然良いよ。何だよclassNameて。classでいいだろ!
attachEventにしてもそう。DOM Level 2でちゃんと定義されてるイベントリスナーの追加メソッドであるaddEventListenerをさしおいてこんなワケの分からんものを付けやがって。
結局互換性を考えた結果onClickやonSubmitにfunctionで無名関数を突っ込むハメに…。
ゆっくりaddEventListenerしてね!
脱!イベントハンドラに失敗しました。

………。
Ajaxをやる前にちゃんとJavaScriptとかDOMの勉強しなかったのがマズかったか…。
何気にAjax用サーバサイドプログラム書いてる時が一番気が楽だ(Perlだし)。

次はチャットの方に行くか日記を強化するか…。
うん。まぁ、頑張っていこう…orz

記事トップに戻る