a person powered by ototoy blog

モヘンジョだろ!!

2005年03月26日

いわゆるAJAX 

要するにHTMLページのDOMの中にXMLHttpRequestっていうオブジェクトがあって、それを使うと非同期にXMLで通信できるっていう仕組みなんだけど、ダセーよ。ダサい。AJAXがダサいんじゃなくて、JavaScriptのDOMがダサい。AJAXはAJAXで微妙にネーミングがダサいような気がする。

こんなにブラウザ互換性を気にしながらのコーディングはちっとも生産的じゃないよ。今日数時間ハマったのは、イベントハンドラ関数に渡される引数がFirefoxとSafariで全然違って、しかもイベント(ですらない)オブジェクトの中身が全然見えない。

苦労して中身を想像してあてずっぽうで試行錯誤した結果、やっとFirefoxではevent.targetと参照すればOKで、かつ、なんとハンドラの中でthisがXMLHttpRequestオブジェクト(インスタンスと区別がないので何と呼んでいいか分からない)だということを発見、Safariの場合はイベントとして投げられるのがwindowオブジェクトで、そこから欲しいオブジェクトを参照するためには、僕のコーディングだとwindow.hoge.xhrとたどらないとイカンということが分かった。徒労。さらにWindowsのIEは改めて調べなければならない上に、MacOSのIEはどうやらXMLHttpRequestそのものが使えない模様orz

こんなの、すごい瑣末なことなのに調べようがないのが腹立つ上に、Webのサンプルが全部グローバル変数を安易に宣言して、そっち側に参照かけてるっていうのがもうなんとも死にそうに辛い。綺麗に書きたくても書けない言語はダメでしょう。なんかGoogle周辺でAsync通信やってるようなスクリプトのソースでさえそんな感じなのが終末感漂うつーか。果してマトモなリファレンスマニュアルっぽい書籍とかWebページはあるのか?

JavaScriptのオブジェクトモデルは絶対に、あえて絶対に統一した方がいいよ。こんなこと続けてたらプログラマになれる可能性のある若者がコピペスクリプタになって、せっかくの才能を潰されるかもしれないジャマイカ!

| Posted By nt 投稿日: 2005年3月26日 4時31分 更新日: 2005年3月26日 4時36分

コメント

しかもさー。ajax多用されるとクローラにとっては非常に情報を集めにくくなるよね。別に検索エンジンに限らないんだけど、つまるところそれは折角電子化した文書が流通しているのにも関わらず計算機がその処理を自動化する可能性を阻害してるってことなんだ。faxの世界に逆戻りしてると言ってもいい。こんなことなら全てflashに統一してxmlsocket使った方がまだましジャマイカ!
by ゆげ - 2005年3月26日 7時28分
そうか、そうなのか。getElementsById()とかでinnerHTMLにバラバラになったテキストを再構成して埋め込めば、検索エンジンにひっかかるはずのないページができてしまいますね。Σ(゚Д゚)ハッそこでMinimum Geckoですか!?
by nt - 2005年3月27日 10時11分
いま注目をあびる優れたgecko
by ゆげ - 2005年3月27日 10時58分
name:
comment:
【コメントに関する注意事項】
記事と全く関連性のないコメント(例:宣伝目的のコメントスパムなど)は、オーナーの判断により削除される場合があります。 - レコミュニ会員としてコメントする

トラックバック