table.innerHTMLへの代入

IE7 beta3を試しています。既存のJavaScriptを動かしてみて、まずinnerHTMLへの代入で引っかかりました。
普通のdivとかならinnerHTMLに代入しても問題ないんですけど、table、tbody、trのinnerHTMLへの代入が「未知の実行時エラー」とか言って怒られます。
いちいちremoveChild、あるいはdeleteRowするのは面倒なのでinnerHTMLにヌル文字列を代入する方が楽なんですけど、多分テーブルの構造が変わってしまうから許したくないんだろうなーとも思います。
念のため書いておくとIE6やFirefox1.5、Opera9.0では上のような現象は起きません。IE7 beta3 のバグであってほしい。
以下、テストするためのHTMLです。(要prototype.js)

続きを読む

ドキュメント中での選択範囲

どの辺りが選択されているかとか、選択範囲を操作したりするオブジェクトとしてIE系ではdocument.selection*1を使うけど、Firefox/Operaではwindow.getSelection()で返されるオブジェクトを使うらしい*2。以下、FirefoxOperaのselectionオブジェクトのメンバーの例

続きを読む

JSONP

前回のエントリで触れたJSONP。初出はRemote JSON - JSONPというMochiKitの中の人によるエントリ(多分。一言で言うなら「JSONデータを括弧でくくった上でこっちが指定した文字列を頭につけて返してね?」というもの。文章で説明するとわけわからん。

ずっとコールバックでサーバとの通信をやってました。確かにこりゃ便利そう。