No Programming, No Life

新しいNPNLです。http://d.hatena.ne.jp/fumokmm/ から引っ越してきました。

JavaScriptハッキング

今現在私が参加しているプロジェクトではJSPを利用してHTMLページを生成しています。
その中でGkitTaglibというFFCさんの製品を利用している部分があります。


このGkitの中でスプレッドシートというものがあるのですが要するにWEBページで
エクセルみたいなスプレッドシートの機能を提供したい時に利用するものです。


このスプレッドシートは行や列が多くなったときはスクロールして表示させることが
できるのですが、ちょっとだけ欠点があります。単純な横スクロールや縦スクロールだけなら
DIV属性のスタイルをちょちょっといじれば実現可能なのでしょうが、
ちょっと複雑な動きになるため、Gkit内で自力でスクロール量とかを計算し、
DHTMLの機能を駆使し実現しているようです。


言い忘れましたが、GkitはJavaScriptの製品です。


このプロジェクトで新たにスプレッドシート内を上下キーで移動したいとう
要望が浮上したのだがJavaScriptで単純にINPUTのフォーカスを移動させただけでは
どうやらスプレッドシートの方はスクロールしてくれない模様でした。


そこで仕方ないのでGkitで自力で計算してスクロールさせている関数を見つけ出す
必要が出てきました。しかしこのjsファイルは製品ということもあって
ソースが全く整形されておらず、コメントもすべて取り除かれてしまっています。
要するに、機能をすべてソースから追わないといけなくなったわけです。
コメントが内のは気合でカバーするとして、問題は整形されていないこと。
読みにくいったらありゃしないので、ツールを探してみたら英語版でしたがありました。


JavaScriptの整形ツール(英語)


なんとかツールを駆使してソースを整形してお目当ての関数を発見することができ
JSP側に組み込むことに成功しました。
人の書いたソースを読むのははやり勉強になりますね。
今回のことでJavaScriptの面白さがわかってきました。
(prototypeベースのオブジェクト指向とか)