2008年2月8日金曜日

Safariで、MouseoverDictionary風の機能を実現してみr

以前紹介した、「MouseoverDictionary」は、Firefoxのアドオンなので、残念ながらSafariでは使用することができません。メインブラウザとして使っているSafariでも、同じような機能が欲しいな〜と常々考えていました。

Safariでは「Control+Command+Dキー」で、ブラウザ上から辞書を使う事ができるのですが、記事を読んでいる時にマウス操作に加え、キー操作するのは大変です。また、「Live Dictionary」というアプリケーションもあるのですが、こちらは有償($25)です。


自分のニーズに合ったサービスが無いなら、作ってみるか!ということで、ここ最近はブログを放置して、ずっと作っていました。まだ完成には程遠いけど、なんなく動作するようになってきました。今の時点で実現している機能は...
  • ブックマークレットから辞書用ダイアログ起動する
    ダイアログは移動させたり大きさを変更させたりする事ができます。

  • 調べたい単語をダブルクリックすると、ダイアログに「意味」が表示される
    ※マウスオーバーした時に「単語」だけを抜き出す方法が分かりませんでした...。取りあえず、代替案として「ダブルクリック」を使っています。


↑動作させると、こんな感じの画面になります。


ここからは、愚痴です。
作り始める前に少し調べたのですが、今のSafariには、クライアントサイドデータベースがありません。(参考:「WebKit、HTML 5のローカルストレージ規格をサポート」)

従って、MouseoverDictionaryのように辞書を内蔵することができません。今開発しているサービスでは、結局、自前の辞書サーバ(HTTP)を起動して、JSONPを使ってデータを取得するようにしています。

が、今日ニュースを見ていると、「Mac OS X 10.5.2のSafari 3.1にはWebKitの新機能が追加される?」(from Macin' Blogさん)や「開発者向けSafari 3.1を試す - HTML5を先取り」(from  マイコミジャーナルさん)等の記事が...。

もう少し待てば、クライアントサイドデータベースが使えるのか!!と、私にとってはあまりにもタイムリーなネタに、思わずズッコケました。最初に調べた時に「HTML5」(2010年に勧告予定)というキーワードがあったので、Safariにクライアントサイドデータベースが実装されるのは、しばらく先の話だと思い込んでいました...。


さて、作りかけのコレどうしよかな...。

0 件のコメント: