Information
日記
G-ZONEのメインコンテンツとは関係のない日々を綴ったX-Virusの日記です。メインコンテンツが更新されていない時、X-Virus が何をしているか、ここを読んでもらえれば分かるように・・・というより、自分が何をしようと目論んでいるかといった備忘録として使う予定です。
-- 2007-04-13
非同期通信のチャットのテストを続けている。
サポートするブラウザの目標は、FireFox, Safari, IE 5.5〜7 だ。試してみると、文字化けやらキャッシュの問題やら色々と出た。一つクリアすると、クリアしたはずの問題が再浮上したり、1日間を空けてテストすると同じコードなのにキャッシュの問題から前とは違った動きになったりと、色々とノウハウを蓄積することになった。
それでも、丁寧に問題を調べて直した結果、満足できる物になったと思う。現在公開中のチャットとは比べ物にならないほど軽快。よくある Java Applet や Flash を使った物と比べても軽い感じがするのは自画自賛だろうか。インターフェースはシンプル。css でデザイン修飾してある程度。機能もシンプル。プログラムもシンプル・・・と言いたいが、ちょっと複雑になってしまった。もう少し無駄を省ければ、シンプルで見やすいコードになるだろう。シンプルさが速い動作につながる訳ではないが、色々な意味でシンプルなのがいい。
Javascript は、ブラウザによって動作が違いすぎる印象があって、あまり好みではなかった。過去形だ。丁寧にコーディングすると、実はブラウザによる違いはあまりない。確かに ActivX の実装等を考えると大きな差が出るが、プラットフォーム依存の技術を捨てるデザインができるなら、Javascript のコードにブラウザ依存の部分はほとんどない。といっても勉強したばかりの新米なので、Javascript の全てをこなしている訳ではないので、本当か? と思うかもしれないけど少なくとも私の中では、これまでの印象は払拭してしまった。
今回のデバッグには、Javascript console が大いに役立った。これはターゲットとしてブラウザにあったのもありがたかった。もっとも Safari の Debug メニューは隠されているので、最初にこれを ON にしてやる必要がある。ON にするためのユーティリティとかもあるが、そう言った物は必要ない。com.apple.Safari ファイルの IncludeDebugMenu プロパティを True に変えるだけだ。具体的には、ターミナルを起動して次のようにタイプしてリターンする。
defaults write com.apple.Safari IncludeDebugMenu -bool true
または
defaults write com.apple.Safari IncludeDebugMenu 1
OFF にする必要もないだろうが、最後の true を false と変えてタイプすれば良い。詳しくは Apple社のFAQにある。
http://developer.apple.com/jp/internet/safari/faq.html
Javascript のデバッグには Javascript console は必須と言えよう。これがあったので、各ブラウザの対応も比較的容易に行えた。