金曜日, 12月 01, 2006

Javascriptオブジェクトの再帰回数とシステムリソース


僕は友人K.O君とWebブラウザで動作する仮想デスクトップ(以下VDE)を作りつつあるのですが(公立の子は今ごろ大変らしいですね),その過程でツリービューを作りました。このブログの読者の方々にも見せたいのですがツリービューの動作にはその他のVDEJavascriptコンポーネントがないと動作せず,K.O君はVDEのJavascript部のコードの公開にも反対しており,簡単には読めない工夫を考えてますのでツリービューのデモを見せることが出来ず残念です。

さて、ツリービューが完成したのでいくつもいくつも子・孫オブジェクトをを作ってみたわけです。すると5つ目以降Firefoxでは「再帰回数が多すぎます」IEでは「リソース不足です」との内容のエラーメッセージが出ます。
一応上の画像が最高の状態なのです。

そうそう、上の画像だけ見たら普通にHTMLで作ったほうが早い、と感じられるかもしれませんがVDEというのは凄くて(自画自賛ですが・・)、例えばウインドウやタブの中でツリービューを生成(ツリービューを生成するときにOwner引数にウインドウのクラスを格納してる変数名を指定)すると完全にツリービューがウインドウに格納され、ウインドウと共に動くのですがツリービューで発生したイベントはウインドウにも仮想デスクトップにも伝播しないんですよ!これは別にイベントの伝播を防ぐコードを記述しているわけではなく、もっと根本的な面で実現しており,これがD&Dにもつながっていくわけなんですよ。それにデザインはCSSと分離していますのでもちろんいろいろなデザインは出来ます。

まあ自画自賛はこの程度にしないと素人振りをアピールすることになりますのでやめときますが、まあ順調に行ってる、という話です(汗)。

0 件のコメント: