ふぅ、思ったより手間取ってしまった…。
サイドバーに格納できるツールということで、サイドバーWEBを作成してみました。
Yahooブリーフケースのshared/development/Perl/SidebarWeb.zipに置いてあります、一応家にサーバ環境を置いている人向け(たぶんレンタルサーバに置いても動くでしょうが)。
つかいかた
これはOperaのSidebarに入れて使うことを想定されたツールです。HTML+JS側ではAjaxを使ってモジュールを呼び出すだけですので、好きな言語でスクリプト(ウィジェットと呼んでいますが)を作ることができるようになっています。
ブックマーク表示スクリプト
いまのところ、サンプルをかねて、はてなブックマークを表示するスクリプトが入っています。パブリックなところは表示できるようですが、認証がうまくいっていないようで、プライベートなブックマークは表示できません。
ウィジェットの追加方法
ウィジェットを追加するには、HTMLの中に、以下の文を書きます。
widget('ヘッダ(h2)文字列','HTML上のID', '(HTMLから見た)ウィジェットのファイルパス', 'ウィジェットに渡すパラメータ(GETで渡します)')
渡されたパラメータは、Perlの場合CGI.pmなどを使えば取得できます。
今回はいってるhatenaBookmark.plの場合は以下のようになります。
widget("ブックマーク", "HTML上のID(はてなIDとは無関係でかまいません)", "./modules/hatenaBookmark.pl", "id=IDを入力;pass=パスワードを入力");
アーカイブに入ってるものでは、わたしのブックマークを表示するようになっています。もちろんパスワードは嘘八百です(^^ゞ
ウィジェットの作り方
普通のCGIと同じように作成します。何らかのContent-Typeを返してあげないと、やっぱり500あたりが帰ってきてしまうのでご注意を。
ウィジェット内からウィジェットをリロードする場合
JavaScript関数として、reloadElement(id, path, param)が定義されていますので、それを呼び出させます。フォームから呼び出す場合は、formReloadElement()を。使用方法等はhatenaBookmark.plを見てみてください。
使用素材等
ロード中の画像は、Ajaxload - Ajax loading gif generatorからもらってきました。
感想
Operaでは――にかかわらず、いくら簡単に追加できるはてなブックマークも、いちいちページに行かないと参照できないようでは意味がありません。サイドバーから参照できると便利なのにな と、前々から思っていました。それが今回のようなスクリプトの作成動機です。
パーソナルなブックマークも同時に見られるようにする というのが当初の目的だったので、まだ目的は達成できてないですが…。これ以上自分一人でやっていても時間を浪費するだけですので、いったんここまでとします。
どうせ作るなら、できればGoogleホームのように、簡単に見られるベースページがあるとうれしいですね。そんなわけで、サイドバーにいろんなスクリプトの表示ができる、このようなページを作成したわけです。
Ajaxの練習にもなりましたし、(あんまりきれいではないですが)結構使いやすいスクリプトが作れました。Ajaxサイドはもう編集する必要ないと思いますので、今後も気軽にちょこちょこ編集していければと思います。