y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

Javascript(ajax)メニュー

これはいい!
ajaxGUI部品”dhtmlxMenu”を調達。
ajax・・ということは、非同期通信、XMLを使っているという意味なのだが、何が気に入ったって、メニューの内容をXMLで記述する点。Javascriptの配列とソースが混在してわけが分からなくなったり、階層が増えるに従ってイライラが増していたところ、XMLならその辺がとっても自然に書けるし、直感的に理解できる。
スキンが用意されているのと、メニューにアイコンを使えるし、多階層化も簡単。もちろんクロスブラウザ対応でGPLライセンス。(商用利用の場合は、オープンソースプロジェクトならいいよ!っていうライセンス)

早速、メニュー用のデータをサーバーサイドから書き出して、クライアントで描画。
使い方は簡単!と言いたいところだが、encoding=Shift_JISとすることと、XML内の&文字を&で置き換える部分に気づかず、少々時間が掛かってしまった。アイコンは今まで使っていたのから、チマチマと切り出して完成。

dhtmlxMenu.JPG

サーバーサイドでXMLを書き出す部分では、アクセスユーザの権限によって内容を変化させている。
まだ変数を拾ってきてURL引数を動的に変更する部分は出来ていないが、そこさえ出来てしまえば完璧なメニューが出来上がる。
サーバでデータを抽出・判定→XMLを送りつける→クライアントが描画する
「かっちょいい!」